From 831e814ce9bdb84e86c06c4a52008f6bdaaa00d6 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 16 Nov 2018 00:24:51 +0800 Subject: =?UTF-8?q?*=E5=90=88=E5=B9=B6master=E5=88=B0minimal=E5=88=86?= =?UTF-8?q?=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/je_shapes.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'src/libjin/Graphics/je_shapes.cpp') diff --git a/src/libjin/Graphics/je_shapes.cpp b/src/libjin/Graphics/je_shapes.cpp index 3146f31..486c506 100644 --- a/src/libjin/Graphics/je_shapes.cpp +++ b/src/libjin/Graphics/je_shapes.cpp @@ -6,9 +6,11 @@ #include "../math/je_matrix.h" #include "../math/je_constant.h" -#include "shader/je_shader.h" +#include "shaders/je_shader.h" #include "je_shapes.h" +using namespace JinEngine::Graphics::Shaders; + namespace JinEngine { namespace Graphics @@ -21,9 +23,9 @@ namespace JinEngine float verts[] = { x + 0.5f , y + 0.5f }; Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_FLOAT, 0, verts); + shader->setVertexPointer(2, GL_FLOAT, 0, verts); gl.ModelMatrix.setIdentity(); - shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); + shader->sendMatrix4(SHADER_MODEL_MATRIX, &(gl.getMatrix() * gl.ModelMatrix)); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); glDrawArrays(GL_POINTS, 0, 1); @@ -32,9 +34,9 @@ namespace JinEngine void points(int n, GLshort* p) { Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_SHORT, 0, p); + shader->setVertexPointer(2, GL_SHORT, 0, p); gl.ModelMatrix.setIdentity(); - shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); + shader->sendMatrix4(SHADER_MODEL_MATRIX, &(gl.getMatrix() * gl.ModelMatrix)); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); glDrawArrays(GL_POINTS, 0, n); @@ -43,14 +45,14 @@ namespace JinEngine void line(int x1, int y1, int x2, int y2) { float verts[] = { - x1, y1, - x2, y2 + x1 + 0.5f, y1 + 0.5f, + x2 + 0.5f, y2 + 0.5f }; Shader* shader = Shader::getCurrentShader(); - shader->bindVertexPointer(2, GL_FLOAT, 0, verts); + shader->setVertexPointer(2, GL_FLOAT, 0, verts); gl.ModelMatrix.setIdentity(); - shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); + shader->sendMatrix4(SHADER_MODEL_MATRIX, &(gl.getMatrix() * gl.ModelMatrix)); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); glDrawArrays(GL_LINES, 0, 2); @@ -83,13 +85,13 @@ namespace JinEngine void rect(RenderMode mode, int x, int y, int w, int h) { - float coords[] = { x, y, x + w, y, x + w, y + h, x, y + h }; + float coords[] = { x + 0.5f, y + 0.5f, x + w + 0.5f, y + 0.5f, x + w + 0.5f, y + h + 0.5f, x + 0.5f, y + h + 0.5f }; polygon(mode, coords, 4); } void triangle(RenderMode mode, int x1, int y1, int x2, int y2, int x3, int y3) { - float coords[] = { x1, y1, x2, y2, x3, y3 }; + float coords[] = { x1 + 0.5f, y1 + 0.5f, x2 + 0.5f, y2 + 0.5f, x3 + 0.5f, y3 + 0.5f }; polygon(mode, coords, 3); } @@ -97,9 +99,9 @@ namespace JinEngine { Shader* shader = Shader::getCurrentShader(); gl.ModelMatrix.setIdentity(); - shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); + shader->sendMatrix4(SHADER_MODEL_MATRIX, &(gl.getMatrix() * gl.ModelMatrix)); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, p); + shader->setVertexPointer(2, GL_FLOAT, 0, p); glDrawArrays(GL_LINE_LOOP, 0, count); } @@ -114,9 +116,9 @@ namespace JinEngine { Shader* shader = Shader::getCurrentShader(); gl.ModelMatrix.setIdentity(); - shader->sendMatrix4(SHADER_MODEL_MATRIX, &gl.ModelMatrix); + shader->sendMatrix4(SHADER_MODEL_MATRIX, &(gl.getMatrix() * gl.ModelMatrix)); shader->sendMatrix4(SHADER_PROJECTION_MATRIX, &gl.ProjectionMatrix); - shader->bindVertexPointer(2, GL_FLOAT, 0, p); + shader->setVertexPointer(2, GL_FLOAT, 0, p); glDrawArrays(GL_POLYGON, 0, count); } -- cgit v1.1-26-g67d0