Anonymous user
Catmull–Clark subdivision surface/C: Difference between revisions
performance fix
m (keys) |
(performance fix) |
||
Line 27:
GLfloat zpos = -6;
int max_depth =
int flat_shade = 0;
int show_parent = 1;
Line 249:
int i;
edge e;
foreach(i, e,
if ((e->v[0] ==
return e;
}
Line 423 ⟶ 422:
ang = i * 72;
rad = ang * 3.1415926 / 180;
v[i].x = 2.2 * cos(rad); v[i].
rad = (ang + 36) * 3.1415926 / 180;
v[i + 5].x = v[i + 10].x = cos(rad);
v[i + 5].
v[i + 5].
v[i + 10].
}
for (i = 0; i < 15; i++) model_add_vertex(m, v[i].x, v[i].y, v[i].z);
tri_face(m, 0,
tri_face(m, 1,
tri_face(m, 2,
tri_face(m, 3,
tri_face(m, 4,
tri_face(m, 0,
tri_face(m, 1,
tri_face(m, 2,
tri_face(m, 3,
//tri_face(m, 4,
tri_face(m, 0,
tri_face(m, 1,
tri_face(m, 1,
tri_face(m, 2,
tri_face(m, 2,
tri_face(m, 3,
tri_face(m, 3,
tri_face(m, 4,
tri_face(m, 4,
tri_face(m, 0,
model_add_face(m, 5,
//model_add_face(m, 5,
return m;
Line 514 ⟶ 513:
quad_face(m, 5, 7, 3, 1);
return m;
}
Line 571 ⟶ 541:
glPushMatrix();
glLoadIdentity();
glPopMatrix();
Line 590 ⟶ 560:
glEnd();
}
}
Line 718 ⟶ 687:
glFlush();
glFinish();
glutSwapBuffers();
}
Line 733 ⟶ 702:
void init_gfx(int *c, char **v) {
glutInit(c, v);
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowSize(640, 480);
|