int main(int argc, char** argv)
{
glutlnit(iargc,argv);
glutlnitDisplayMode (GLUT_SINGLE | GLUT_RGB); singleb=glutCreateWindow(~single buffered"); myinit ();
glutDisplayFunc(displays); glutReshapeFunc (myReshape); glutldleFunc (spinDisplay); glutMouseFunc (mouse);
glutlnitDisplayMode (GLUT_DOUBLE | GLUT_RGB); doubleb=glutCreatewindow("double buffered"); myinit ();
glutDisplayFunc(displayd); glutReshapeFunc (myReshape); glutldleFunc (spinDisplay); glutMouseFunc (mouse);
glutMainLoop();
}

/*-------Конец файла-------*/

A. 7. Программа отображения с двойной буферизацией А.8. Программа отображения вращающегося куба

/* Вращающийся куб.

* При раскраске граней используется линейная

* интерполяция цвета */

/* Программа демонстрирует использование преобразований

* однородных координат и структуру данных, описывающую

* топологию пространственного объекта. Подробно эта

* структура данных рассматривается в главе 4. */

/* С каждой вершиной ассоциирован вектор нормали и цвет. */ /* Центр куба находится в начале координат, а потому

* ненормированные компоненты векторов нормалей

* совпадают с координатами соответствующих вершин */

ti.ncl.ude <stdlib.li> #д.пс11к1е <СЬ/д1и^п>

GLfloat vertices[][3] = {{-1.0,-1.0,-1.0},{1.0,-1.0,-1.0}, {1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0}, {1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};
GLfloat normals[][3] = {{-1.0,-1.0,-1.0},{1.0,-1.0,-1.0}, {1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0}, {1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};
GLfloat colors[][3] = {{0.0,0.0,0.0},{1.0,0.0,0.0}, {1.0,1.0,0.0}, {0.0,1.0,0.0}, {0.0,0.0,1.0}, {1.0,0.0,1.0}, {1.0,1.0,1.0}, {0.0,1.0,1.0}};
/*------------------------------- */

void polygon(int a, int b, int с , int d) {

/* Вычертить многоугольник, используя список вершин */

glBegin(GL_POLYGON); glColor3fv(colors[a]); glNormal3fv(normals[a]); glVertex3fv(vertices[a]); glColor3fv(colors[b]); glNormal3fv(normals[b]); glVertex3fv(vertices[b]); glColor3fv(colors[c]); glNormal3fv(normals[c]); glVertex3fv(vertices[c]);

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