From b35a7d9cbe66140c5bcb7fb7c5b2a41d5d3d4ceb Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sun, 14 Jul 2024 23:28:41 +0100 Subject: [PATCH] Save projected vertex --- src/rasteriser/rasteriser.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/rasteriser/rasteriser.c b/src/rasteriser/rasteriser.c index 5e8058e..a2d5da7 100644 --- a/src/rasteriser/rasteriser.c +++ b/src/rasteriser/rasteriser.c @@ -124,13 +124,14 @@ internal void render_instance(window_t *wnd, const rasteriser_scene_t *scene, } vec2i_t point = {0}; + vertex_t *vp = NULL; for (u64 i = 0; i < transformed->count; ++i) { - vertex = list_get(transformed, i); - vertex.position = mul_mat3x4f_by_vec4f( - projection_matrix, (vec4f_t){vertex.position.x, vertex.position.y, - vertex.position.z, 1.0f}); - point = (vec2i_t){(i32)(vertex.position.x / vertex.position.z), - (i32)(vertex.position.y / vertex.position.z)}; + vp = &(list_get(transformed, i)); + vp->position = mul_mat3x4f_by_vec4f( + projection_matrix, + (vec4f_t){vp->position.x, vp->position.y, vp->position.z, 1.0f}); + point = (vec2i_t){(i32)(vp->position.x / vp->position.z), + (i32)(vp->position.y / vp->position.z)}; list_append(vec2i_t, arena, projected, point); }