Смекни!
smekni.com

Использование OpenGL (стр. 6 из 6)

glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); // Верхправо

glNormal3f( 0.0f,-1.0f, 0.0f);// Нижняягрань

glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f); // Верхправо

glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f); // Верхлево

glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); // Низлево

glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); // Низправо

glNormal3f( 1.0f, 0.0f, 0.0f);// Правая грань

glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f); // Низ право

glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); // Верх право

glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Верх лево

glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); // Низлево

glNormal3f(-1.0f, 0.0f, 0.0f);// Леваягрань

glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f); // Низлево

glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); // Низправо

glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Верхправо

glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); // Верхлево

glEnd();

glPopMatrix();// вызов матрицы

rotx+=0.2;//вращение по оси Х

roty+=0.1;//вращение по оси Y

rotz+=0.3;//вращение по оси Z

glutSwapBuffers();

}

void reshape (int w, int h)

{

glViewport (0, 0, (GLsizei) w, (GLsizei) h);

glMatrixMode (GL_PROJECTION);

glLoadIdentity ();

gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);// параметрыперспективы

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

gluLookAt (0.0, 1.5, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);// точкакамеры

}

void keyboard (unsigned char key, int x, int y)//обработчикклавиатуры

{

switch (key) {

case 27:

exit(0);

break;

case 'e':

glEnable(GL_BLEND);//применениеальфа-смешивания

break;

case 'd':

glDisable(GL_BLEND);//отключениеальфасмешивания

break;

}

}

int main(int argc, char** argv)

{

glutInit(&argc, argv);

glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);//режимэкрана

glutInitWindowPosition (0, 0);//позицияокна

glutCreateWindow ("DroY Cube (c) 2003 Press 'ESC' to exit");

init ();

glutFullScreen();//полноэкранныйрежим

glutDisplayFunc(display);

glutReshapeFunc(reshape);

glutKeyboardFunc(keyboard);

glutIdleFunc(display);

glutMainLoop();

return 0;

}

Списокиспользованнойлитературы.

1. "Интерактивная компьютерная графика. Вводный курс на базе OpenGL", Эдвард Эйнджел.

2. OpenGL. Официальное руководство программиста Ву Мейсон, Нейдер Джеки, Девис Том, Шрайнер Дейв

3. Тарасов И.А. «Основы программирования OpenGL: учебный курс».

4. Тихомиров Ю. «Программирование трёхмерной графики».

5. http://www.gamedev.ru Основы OpenGL