aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_gl.cpp
diff options
context:
space:
mode:
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;