From df5ae70aa2304939abe75966eb386d018018294a Mon Sep 17 00:00:00 2001 From: PedroEdiaz Date: Sat, 30 Nov 2024 22:27:57 -0600 Subject: [PATCH] Use G-S on all dimentions --- src/surface.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/surface.c b/src/surface.c index c87daa5..3e4aaa3 100644 --- a/src/surface.c +++ b/src/surface.c @@ -165,17 +165,10 @@ static void __calculate_normal( u2 = malloc(n * sizeof(float)); u3 = malloc(n * sizeof(float)); - switch (n) + /* + Calculate a normal vector of a plain using Gram-Schmidt process + */ { - case 3: - glm_vec3_sub(p2, p1, v1); - glm_vec3_sub(p3, p1, v2); - - glm_vec3_cross(v1, v2, normal); - glm_vec3_normalize(normal); - return; - - default: for (i = 0; i < n; ++i) { v1[i] = p2[i] - p1[i]; v2[i] = p3[i] - p1[i]; @@ -267,4 +260,4 @@ float *generate_normals_surface(float *d, unsigned char m) free(norm_vec); return n; -} \ No newline at end of file +}