Интерполяция цветов
Когда вы создаете многоугольник, вы можете задать цвет для каждой его вершины. Если разрешено сглаживание цветов, то многоугольник будет переливаться. Поясню на примере. Режим сглаживания по умолчанию разрешен. Он переключается функцией glShadeModel с аргументами GL_FLAT и GL_SMOOTH. GL_FLAT запрещает сглаживание. На мой взгляд, сглаживание редко нужно. Вещь красивая, но бесполезная. Я в своих неучебных программах этот режим никогда не использовал. Поэтому советую его отключать, особенно, при программировании анимированного приложения. Создайте очередной проект. В функцию main добавьте
glShadeModel(GL_SMOOTH); Функцию display отредактируйте следующим образом:
void CALLBACK display(void) { glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glBegin(GL_TRIANGLES); glColor3d(1,0,0); glVertex2d(0,0); glColor3d(0,1,0); glVertex2d(0,3); glColor3d(0,0,1); glVertex2d(3,0); glEnd(); auxSwapBuffers(); }
Исходный файл смотрите . Исполняемый файл .