aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_gl.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-18 22:32:55 +0800
committerchai <chaifix@163.com>2018-11-18 22:32:55 +0800
commitfc7b4579e49aaeecc81919e247e03f68bd5abfd4 (patch)
tree6547b8c7d3632591358267d06006eddc53216105 /src/libjin/Graphics/je_gl.cpp
parent3905924fc35f92e5092576c3f6e8fc5db7588cde (diff)
*粒子系统
Diffstat (limited to 'src/libjin/Graphics/je_gl.cpp')
-rw-r--r--src/libjin/Graphics/je_gl.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libjin/Graphics/je_gl.cpp b/src/libjin/Graphics/je_gl.cpp
index f098f97..c58f0ac 100644
--- a/src/libjin/Graphics/je_gl.cpp
+++ b/src/libjin/Graphics/je_gl.cpp
@@ -15,7 +15,9 @@ namespace JinEngine
: ogl2d::OpenGL()
{
mModelViewMatrices.push_back(Matrix());
- solve();
+ mModelViewMatrix.setIdentity();
+ for (Matrix& m : mModelViewMatrices)
+ mModelViewMatrix *= m;
}
void OpenGL::setColor(Channel r, Channel g, Channel b, Channel a)
@@ -51,11 +53,6 @@ namespace JinEngine
if (mModelViewMatrices.size() == 1)
return;
mModelViewMatrices.pop_back();
- solve();
- }
-
- void OpenGL::solve()
- {
mModelViewMatrix.setIdentity();
for (Matrix& m : mModelViewMatrices)
mModelViewMatrix *= m;
@@ -91,10 +88,15 @@ namespace JinEngine
Matrix OpenGL::getModelViewMatrix(float x, float y, float sx, float sy, float r, float ox, float oy)
{
Matrix m;
- m.setTransformation(x, y, sx, sy, r, ox, oy);
+ m.setTransformation(x, y, r, sx, sy, ox, oy);
return mModelViewMatrix*m;
}
+ Math::Matrix OpenGL::getModelViewMatrix(const Math::Transform& tansform)
+ {
+ return mModelViewMatrix * tansform.getMatrix();
+ }
+
Matrix OpenGL::getModelViewMatrix()
{
return mModelViewMatrix;