示例#1
0
static void MechHip(
    char solid)
{
    int i;
    GLUquadricObj *hip[2];

    glNewList(SOLID_MECH_HIP, GL_COMPILE);
#ifdef LIGHT
    SetMaterial(mat_specular, mat_ambient, mat_diffuse, mat_shininess);
#endif
    glColor3f(1.0, 1.0, 0.0);
    Octagon(0.7, 0.5, solid);
#ifdef SPHERE
    for (i = 0; i < 2; i++) {
        if (i)
            glScalef(-1.0, 1.0, 1.0);
        glTranslatef(1.0, 0.0, 0.0);
        hip[i] = gluNewQuadric();
#ifdef LIGHT
        SetMaterial(mat_specular2, mat_ambient2, mat_diffuse2, mat_shininess2);
#endif
        glColor3f(0.5, 0.5, 0.5);
        if (!solid)
            gluQuadricDrawStyle(hip[i], GLU_LINE);
        gluSphere(hip[0], 0.2, 16, 16);
        glTranslatef(-1.0, 0.0, 0.0);
        }
    glScalef(-1.0, 1.0, 1.0);
#endif
    glEndList();
}
示例#2
0
文件: mech.c 项目: lain-dono/TinyGL
void
Foot(char solid) {

	glNewList(SOLID_MECH_FOOT, GL_COMPILE);
#ifdef LIGHT
	SetMaterial(mat_specular2, mat_ambient2, mat_diffuse2, mat_shininess2);
#endif
	glColor3f(0.5, 0.5, 0.5);
	glRotatef(90.0, 1.0, 0.0, 0.0);
	Octagon(1.5, 0.6, solid);
	glRotatef(-90.0, 1.0, 0.0, 0.0);
	glEndList();
}