From fc7b4579e49aaeecc81919e247e03f68bd5abfd4 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 18 Nov 2018 22:32:55 +0800 Subject: =?UTF-8?q?*=E7=B2=92=E5=AD=90=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/je_gl.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/libjin/Graphics/je_gl.cpp') 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; -- cgit v1.1-26-g67d0