Esempio n. 1
0
void
    draw(void)
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

    glColor3f(1.0, 1.0, 1.0);

    /* draw first polygon */
    glPushMatrix();
    glTranslatef(-1.0, 0.0, 0.0);
    glRotatef(Angle, 0.0, 0.0, 1.0);
    glBindTexture(GL_TEXTURE_2D, TexObj[v]);

    glEnable(GL_TEXTURE_2D);
    glBegin(GL_QUADS);
    glTexCoord2f(0.0, 0.0);
    glVertex2f(-1.0, -1.0);
    glTexCoord2f(1.0, 0.0);
    glVertex2f(1.0, -1.0);
    glTexCoord2f(1.0, 1.0);
    glVertex2f(1.0, 1.0);
    glTexCoord2f(0.0, 1.0);
    glVertex2f(-1.0, 1.0);
    glEnd();
    glDisable(GL_TEXTURE_2D);
    glPopMatrix();

    /* draw second polygon */
    glPushMatrix();
    glTranslatef(1.0, 0.0, 0.0);
    glRotatef(Angle - 90.0, 0.0, 1.0, 0.0);

    glBindTexture(GL_TEXTURE_2D, TexObj[1-v]);

    glEnable(GL_TEXTURE_2D);
    glBegin(GL_QUADS);
    glTexCoord2f(0.0, 0.0);
    glVertex2f(-1.0, -1.0);
    glTexCoord2f(1.0, 0.0);
    glVertex2f(1.0, -1.0);
    glTexCoord2f(1.0, 1.0);
    glVertex2f(1.0, 1.0);
    glTexCoord2f(0.0, 1.0);
    glVertex2f(-1.0, 1.0);
    glEnd();
    glDisable(GL_TEXTURE_2D);

    glPopMatrix();

    tkSwapBuffers();
}
Esempio n. 2
0
void
display(void) {
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glEnable(GL_DEPTH_TEST);

	glPushMatrix();
	glRotatef((GLfloat) turn, 0.0, 1.0, 0.0);
	glRotatef((GLfloat) turn1, 1.0, 0.0, 0.0);
#ifdef LIGHT

	if (solid_part) {
		glPushMatrix();
		lighting();
		glPopMatrix();
	} else {
		disable();
	}

#endif
#ifdef DRAW_MECH
	glPushMatrix();
	glTranslatef(0.0, elevation, 0.0);
	DrawMech();
	glPopMatrix();
#endif
#ifdef DRAW_ENVIRO
	glPushMatrix();

	if (distance >= 20.136) {
		distance = 0.0;
	}

	glTranslatef(0.0, -5.0, -distance);
	glCallList(SOLID_ENVIRO);
	glTranslatef(0.0, 0.0, 10.0);
	glCallList(SOLID_ENVIRO);
	glPopMatrix();
#endif
	glPopMatrix();
	glFlush();
	tkSwapBuffers();
}