Fix: compile

This commit is contained in:
PedroEdiaz
2024-10-18 19:14:51 -06:00
parent e79c4abe83
commit b164d15927

View File

@@ -18,10 +18,10 @@ unsigned char palette[] =
0x7A,0x1C,0xAC,0xff, 0x7A,0x1C,0xAC,0xff,
}; };
void calc_normal(float* v1, float* v2, float* v3, , float* v4 ,float* normal, unsigned char n) void calc_normal(float* v1, float* v2, float* v3,float* normal, unsigned char n)
{ {
vec4 lado1, lado2; vec4 lado1, lado2;
vec4 u1, u2; vec4 u1, u2;
switch (n) switch (n)
{ {
@@ -36,24 +36,24 @@ void calc_normal(float* v1, float* v2, float* v3, , float* v4 ,float* normal, un
case 4: case 4:
glm_vec4_sub(v2, v1, lado1); glm_vec4_sub(v2, v1, lado1);
glm_vec4_sub(v3, v1, lado2); glm_vec4_sub(v3, v1, lado2);
glm_vec4_copy(lado1, u1); glm_vec4_copy(lado1, u1);
float alfa = glm_vec4_dot(lado2, u1) / glm_vec4_dot(u1, u1); float alfa = glm_vec4_dot(lado2, u1) / glm_vec4_dot(u1, u1);
vec4 proy; vec4 proy;
glm_vec4_scale(u1, alfa, proy); glm_vec4_scale(u1, alfa, proy);
glm_vec4_sub(lado2, proy, u2); glm_vec4_sub(lado2, proy, u2);
glm_vec4_normalize(u2); glm_vec4_normalize(u2);
glm_vec4_copy(u2, normal); glm_vec4_copy(u2, normal);
default: default:
break; break;
} }
} }
float * fill_normal( float * d ) float * fill_normal( float * d, unsigned char m )
{ {
float * n; float * n;
n = malloc( (*d+1)*sizeof(float)); n = malloc( (*d+1)*sizeof(float));
@@ -61,13 +61,13 @@ float * fill_normal( float * d )
for (int i = 0; i < *d; i += 9) for (int i = 0; i < *d; i += 9)
{ {
vec3 norm_vec; vec3 norm_vec;
calc_normal((d+1)+i, (d+1)+i+3, (d+1)+i+6, norm_vec); calc_normal((d+1)+i, (d+1)+i+3, (d+1)+i+6, norm_vec, m);
glm_vec3_copy( norm_vec, (n+1)+i ); glm_vec3_copy( norm_vec, (n+1)+i );
glm_vec3_copy( norm_vec, (n+1)+i+3 ); glm_vec3_copy( norm_vec, (n+1)+i+3 );
glm_vec3_copy( norm_vec, (n+1)+i+6 ); glm_vec3_copy( norm_vec, (n+1)+i+6 );
} }
return n; return n;
} }
const char * wname = "manigraph: manifold grapher"; const char * wname = "manigraph: manifold grapher";
@@ -96,8 +96,8 @@ int main( void )
load_fix_matrix( shader, (float)WIDTH/HEIGHT ); load_fix_matrix( shader, (float)WIDTH/HEIGHT );
n_cube = fill_normal( d_cube ); n_cube = fill_normal( d_cube, 3 );
n_axis = fill_normal( d_axis ); n_axis = fill_normal( d_axis, 3 );
if( !( m_cube = create_mesh( d_cube, n_cube ) ) ) if( !( m_cube = create_mesh( d_cube, n_cube ) ) )
goto error_mesh_cube; goto error_mesh_cube;