Assert Style
This commit is contained in:
@@ -72,7 +72,6 @@ void __key_callback_input(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,7 +174,8 @@ end:
|
|||||||
if (0)
|
if (0)
|
||||||
{
|
{
|
||||||
printf("QUAT: %2.5f %2.5f %2.5f %2.5f\n", q[0], q[1], q[2], q[3]);
|
printf("QUAT: %2.5f %2.5f %2.5f %2.5f\n", q[0], q[1], q[2], q[3]);
|
||||||
printf("PROY: %3d %3d %3d (%3d)\n", projection.x, projection.y, projection.z, projection.w );
|
printf("PROY: %3d %3d %3d (%3d)\n", projection.x, projection.y,
|
||||||
|
projection.z, projection.w);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
return q;
|
return q;
|
||||||
|
|||||||
@@ -80,8 +80,6 @@ static inline
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clean_context();
|
clean_context();
|
||||||
|
|
||||||
#ifndef DEBUG
|
#ifndef DEBUG
|
||||||
@@ -97,7 +95,6 @@ static inline
|
|||||||
|
|
||||||
load_mdl_matrix(shader_plain, 0, 3);
|
load_mdl_matrix(shader_plain, 0, 3);
|
||||||
draw_mesh(m_surface, 1);
|
draw_mesh(m_surface, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
@@ -172,7 +169,6 @@ int main(void)
|
|||||||
projection.mesh = m_surface;
|
projection.mesh = m_surface;
|
||||||
set_projection_mesh(projection);
|
set_projection_mesh(projection);
|
||||||
|
|
||||||
|
|
||||||
free(n_surface);
|
free(n_surface);
|
||||||
free(d_surface);
|
free(d_surface);
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/main.o
BIN
src/main.o
Binary file not shown.
@@ -29,7 +29,6 @@ void riemman(float *d_surface, int * coords, int grid_size)
|
|||||||
d_surface[3] = cimag(eq);
|
d_surface[3] = cimag(eq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void cube(float *d_surface, int *coord, int grid_size)
|
void cube(float *d_surface, int *coord, int grid_size)
|
||||||
{
|
{
|
||||||
unsigned char i;
|
unsigned char i;
|
||||||
@@ -148,8 +147,6 @@ float *generate_data_surface(int grid_size, unsigned char *s)
|
|||||||
return d_surface;
|
return d_surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void __calculate_normal(
|
static void __calculate_normal(
|
||||||
float *p1, float *p2, float *p3, float *normal, unsigned char n)
|
float *p1, float *p2, float *p3, float *normal, unsigned char n)
|
||||||
{
|
{
|
||||||
@@ -169,26 +166,30 @@ static void __calculate_normal(
|
|||||||
Calculate a normal vector of a plain using Gram-Schmidt process
|
Calculate a normal vector of a plain using Gram-Schmidt process
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
v1[i] = p2[i] - p1[i];
|
v1[i] = p2[i] - p1[i];
|
||||||
v2[i] = p3[i] - p1[i];
|
v2[i] = p3[i] - p1[i];
|
||||||
v3[i] = p1[i];
|
v3[i] = p1[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
u1[i] = v1[i];
|
u1[i] = v1[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
float proj[n];
|
float proj[n];
|
||||||
float dot_v2_u1 = 0.0f, dot_u1_u1 = 0.0f;
|
float dot_v2_u1 = 0.0f, dot_u1_u1 = 0.0f;
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
dot_v2_u1 += v2[i] * u1[i];
|
dot_v2_u1 += v2[i] * u1[i];
|
||||||
dot_u1_u1 += u1[i] * u1[i];
|
dot_u1_u1 += u1[i] * u1[i];
|
||||||
}
|
}
|
||||||
alpha = dot_v2_u1 / dot_u1_u1;
|
alpha = dot_v2_u1 / dot_u1_u1;
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
proj[i] = u1[i] * alpha;
|
proj[i] = u1[i] * alpha;
|
||||||
u2[i] = v2[i] - proj[i];
|
u2[i] = v2[i] - proj[i];
|
||||||
}
|
}
|
||||||
@@ -199,31 +200,37 @@ static void __calculate_normal(
|
|||||||
float dot_v3_u1 = 0.0f, dot_u1_u1 = 0.0f;
|
float dot_v3_u1 = 0.0f, dot_u1_u1 = 0.0f;
|
||||||
float dot_v3_u2 = 0.0f, dot_u2_u2 = 0.0f;
|
float dot_v3_u2 = 0.0f, dot_u2_u2 = 0.0f;
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
dot_v3_u1 += v3[i] * u1[i];
|
dot_v3_u1 += v3[i] * u1[i];
|
||||||
dot_u1_u1 += u1[i] * u1[i];
|
dot_u1_u1 += u1[i] * u1[i];
|
||||||
}
|
}
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
proj1[i] = u1[i] * (dot_v3_u1 / dot_u1_u1);
|
proj1[i] = u1[i] * (dot_v3_u1 / dot_u1_u1);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
dot_v3_u2 += v3[i] * u2[i];
|
dot_v3_u2 += v3[i] * u2[i];
|
||||||
dot_u2_u2 += u2[i] * u2[i];
|
dot_u2_u2 += u2[i] * u2[i];
|
||||||
}
|
}
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
proj2[i] = u2[i] * (dot_v3_u2 / dot_u2_u2);
|
proj2[i] = u2[i] * (dot_v3_u2 / dot_u2_u2);
|
||||||
u3[i] = v3[i] - proj1[i] - proj2[i];
|
u3[i] = v3[i] - proj1[i] - proj2[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float magnitude = 0.0f;
|
float magnitude = 0.0f;
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
magnitude += u3[i] * u3[i];
|
magnitude += u3[i] * u3[i];
|
||||||
}
|
}
|
||||||
magnitude = sqrtf(magnitude);
|
magnitude = sqrtf(magnitude);
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
normal[i] = u3[i] / magnitude;
|
normal[i] = u3[i] / magnitude;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +244,6 @@ static void __calculate_normal(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float *generate_normals_surface(float *d, unsigned char m)
|
float *generate_normals_surface(float *d, unsigned char m)
|
||||||
{
|
{
|
||||||
float *n;
|
float *n;
|
||||||
@@ -250,7 +256,6 @@ float *generate_normals_surface(float *d, unsigned char m)
|
|||||||
for (int i = 0; i < *d; i += 3 * m)
|
for (int i = 0; i < *d; i += 3 * m)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
__calculate_normal(
|
__calculate_normal(
|
||||||
(d + 1) + i, (d + 1) + i + m, (d + 1) + i + 2 * m, norm_vec, m);
|
(d + 1) + i, (d + 1) + i + m, (d + 1) + i + 2 * m, norm_vec, m);
|
||||||
glm_vec3_copy(norm_vec, (n + 1) + i);
|
glm_vec3_copy(norm_vec, (n + 1) + i);
|
||||||
|
|||||||
Reference in New Issue
Block a user