This commit is contained in:
Abdelrahman Said 2024-07-10 00:19:11 +01:00
parent 3c293198bb
commit 00e7293b28

View File

@ -300,11 +300,11 @@ internal void clip_instance_against_plane(model_t *model,
internal void clip_triangles_against_plane(model_t *model, internal void clip_triangles_against_plane(model_t *model,
const clipping_plane_t *plane) { const clipping_plane_t *plane) {
for (u64 i = 0; i < model->triangles->count; ++i) { for (u64 i = 0; i < model->triangles->count; ++i) {
scene_triangle_t *triangle = list_get(model->triangles, i); scene_triangle_t triangle = list_get(model->triangles, i);
vec3f_t *v0 = &(list_get(model->vertices, triangle->idx0)); vec3f_t *v0 = &(list_get(model->vertices, triangle.idx0));
vec3f_t *v1 = &(list_get(model->vertices, triangle->idx1)); vec3f_t *v1 = &(list_get(model->vertices, triangle.idx1));
vec3f_t *v2 = &(list_get(model->vertices, triangle->idx2)); vec3f_t *v2 = &(list_get(model->vertices, triangle.idx2));
clip_triangle_against_plane(triangle, plane); clip_triangle_against_plane(v0, v1, v2, plane);
} }
} }
@ -313,6 +313,9 @@ internal void clip_triangle_against_plane(vec3f_t *v0, vec3f_t *v1, vec3f_t *v2,
f32 d0 = signed_distance(v0, plane); f32 d0 = signed_distance(v0, plane);
f32 d1 = signed_distance(v1, plane); f32 d1 = signed_distance(v1, plane);
f32 d2 = signed_distance(v2, plane); f32 d2 = signed_distance(v2, plane);
if (d0 > 0.0f && d1 > 0.0f && d2 > 0.0f) {
}
} }
internal list_float *interpolate(Arena *arena, i32 i0, f32 d0, i32 i1, f32 d1) { internal list_float *interpolate(Arena *arena, i32 i0, f32 d0, i32 i1, f32 d1) {