Ya deberia funcionar n==4, pero por alguna razon no corre con make run, iura

This commit is contained in:
Your Name
2024-10-22 12:05:19 -06:00
parent fe3b99d480
commit 96df57fc90

View File

@@ -22,9 +22,8 @@ unsigned char palette[] =
void calc_normal(float* v1, float* v2, float* v3,float* normal, unsigned char n) void calc_normal(float* v1, float* v2, float* v3,float* normal, unsigned char n)
{ {
float alpha; vec4 lado1, lado2, lado3;
vec4 lado1, lado2; vec4 u1, u2, u3;
vec4 u1, u2, proy;
switch (n) switch (n)
{ {
@@ -38,19 +37,34 @@ void calc_normal(float* v1, float* v2, float* v3,float* normal, unsigned char n)
return; return;
case 4: case 4:
#if 0
glm_vec4_sub(v2, v1, lado1);
glm_vec4_sub(v3, v1, lado2);
glm_vec4_copy(lado1, u1); glm_vec4_sub(v2, v1, lado1);
glm_vec4_sub(v3, v1, lado2);
glm_vec4_sub(v2, v1, lado3);
glm_vec4_copy(lado1, u1);
alpha = glm_vec4_dot(lado2, u1) / glm_vec4_dot(u1, u1); float alpha = glm_vec4_dot(lado2, u1) / glm_vec4_dot(u1, u1);
glm_vec4_scale(u1, alpha, proy); vec4 proj_u1;
glm_vec4_sub(lado2, proy, u2); glm_vec4_scale(u1, alpha, proj_u1);
glm_vec4_sub(lado2, proj_u1, u2);
glm_vec4_normalize(u2); glm_vec4_normalize(u2);
glm_vec4_copy(u2, normal);
#endif float beta = glm_vec4_dot(lado3, u1) / glm_vec4_dot(u1, u1);
vec4 proj_u1_lado3;
glm_vec4_scale(u1, beta, proj_u1_lado3);
float gamma = glm_vec4_dot(lado3, u2) / glm_vec4_dot(u2, u2);
vec4 proj_u2;
glm_vec4_scale(u2, gamma, proj_u2);
glm_vec4_sub(lado3, proj_u1_lado3, u3);
glm_vec4_sub(u3, proj_u2, u3);
glm_vec4_normalize(u3);
glm_vec4_copy(u3, normal);
return; return;
} }
} }