pix[l].setTexture(2002): // create texture // создаем текстуру

.. .similarly for other four textures ... II аналогично для остальных четырех структур

glViewportCO. 0. 640. 480); // set up the viewing system

продолжение-^

Визуализация граней для усиления реалистичности

Листинг 8.2 (продолжение)

// устанавливаем систему просмотра glMatrixMode(GL_PROJECTION): glLoadldentityO:

gluPerspective(60.0. 640.0/ 480. 1.0. 30.0): // set camera shape // задаем форму камеры

glMatrixMode(GL_MODELVIEW):
glLoadldentityO:

glTranslated(0.0. 0.0. -4): // move camera back // двигаем камеру назад }

//«««««««««««««< display »»»»»»»»»»»
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT): glTexEnvf(GL_TEXTURE_ENV. GL_TEXTURE_ENV_MODE. GL_DECAL): glPushMatrixO;

glRotated(xAngle. 1.0.0.0.0.0): glRotated(yAngle. 0.0.1.0.0.0): // rotate // поворачиваем

glBindTexture(GL_TEXTURE_2D.2001): // top face: 'fake' checkerboard // верхняя грань: «фальшивая» шахматная доска glBegin(GL_QUADS):

glTexCoord2f(-1.0. -1.0): glVertex3f(-1.0f. l.Of. -l.Of): glTexCoord2f(-1.0. 2.0): glVertex3f(-1.0f. l.Of, l.Of): glTexCoord2f(2.0, 2.0): glVertex3f( l.Of. l.Of. l.Of): glTexCoord2f(2.0, -1.0): glVertex3f( l.Of. l.Of. -l.Of): glEndO:

glBindTexture(GL_TEXTURE_2D.2002): // right face: mandrill // правая грань: мандрил (обезьяна)

glBegin(GL_QUADS):
glTexCoord2f(0.0, 0.0): glVertex3f(1.0f. -l.Of. l.Of); glTexCoord2f(0.0, 2.0); glVertex3f(1.0f. -l.Of. -l.Of): glTexCoord2f(2.0. 2.0): glVertex3f(1.0f, l.Of. -l.Of); glTexCoord2f(2.0. 0.0): glVertex3f(1.0f. l.Of. l.Of): glEndO:

... similarly for other four faces ... // аналогично для остальных четырех граней glFlushO; glPopMatrixQ: gl utSwapBuffersO:

}
/ /«««««««««««««««« spi nner »»»»>»»»»»»

⇐ Предыдущая| |Следующая ⇒