aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_shapes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/je_shapes.cpp')
-rw-r--r--src/libjin/Graphics/je_shapes.cpp32
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);
}