summaryrefslogtreecommitdiff
path: root/src/rendering
diff options
context:
space:
mode:
Diffstat (limited to 'src/rendering')
-rw-r--r--src/rendering/src/rendering.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c
index 181ac52..0a847d0 100644
--- a/src/rendering/src/rendering.c
+++ b/src/rendering/src/rendering.c
@@ -35,6 +35,11 @@ void render_present(Window* w) {
Camera c = *GLOBAL_PLATFORM->cam;
const f32 ratio = (float)w->windowsize[0] / (float)w->windowsize[1];
+ mat4 view; // view
+ vec3 angle = {1, 0.5, 1};
+ glm_vec3_sub(c.pos, angle, angle);
+ glm_lookat(c.pos, angle, GLM_YUP, view);
+
for (i32 i = 0; i < drawcall_len; i++) {
RenderDrawCall dc = drawcalls[i];
switch (dc.type) {
@@ -72,12 +77,7 @@ void render_present(Window* w) {
glm_vec3_copy(dc.data.model.pos, pos);
gl->UseProgram(o->shader.program);
-
-
-
-
{
- mat4 v; // view
mat4 model = GLM_MAT4_IDENTITY_INIT;
mat4 modelviewprojection;
@@ -85,18 +85,9 @@ void render_present(Window* w) {
model[3][1] = pos[1];
model[3][2] = pos[2];
- /* Lookat zero should be changed to whatever later */
- vec3 angle = {1, 0.5, 1};
- glm_vec3_sub(c.pos, angle, angle);
- glm_lookat(c.pos, angle, GLM_YUP, v);
-
- { mat4 t;
- //modelviewprojection = p * v * model
- glm_mat4_mul(v, model, t);
-
- // TODO: Remove this later
- //glm_rotate_at(t, (vec3){0,0,0}, get_time() / 2.f, GLM_YUP); //, (vec3)({0,1,0}));
-
+ { // modelviewprojection = p * view * model
+ mat4 t;
+ glm_mat4_mul(view, model, t);
glm_mat4_mul(c.per, t, modelviewprojection);
}
@@ -106,7 +97,7 @@ void render_present(Window* w) {
gl->UniformMatrix4fv(matrix, 1, GL_FALSE, &modelviewprojection[0][0]);
}
-
+ // TODO the buffers need to be abstracted a bit more
gl->EnableVertexAttribArray(0);
gl->BindBuffer(GL_ARRAY_BUFFER, o->vbo);
gl->VertexAttribPointer(
@@ -133,12 +124,11 @@ void render_present(Window* w) {
- //gl->UseProgram(p->testobject->shaderprogram);
- //// Draw the triangle !
+ //// Draw the model !
gl->DrawArrays(GL_TRIANGLES, 0, 3*12); // Starting from vertex 0; 3 vertices total -> 1 triangle
gl->DisableVertexAttribArray(0);
- //gl->DisableVertexAttribArray(1);
+ gl->DisableVertexAttribArray(1);