Fix: compile
This commit is contained in:
34
src/main.c
34
src/main.c
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user