diff options
Diffstat (limited to 'src/libjin/Graphics/je_shapes.cpp')
-rw-r--r-- | src/libjin/Graphics/je_shapes.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
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); } |