glEndO:
}
«Состояние» OpenGL
OpenGL отслеживает множество переменных состояния (state variables): текущий размер точки, текущий цвет рисования, текущий цвет фона и т. д. Значение любой переменной состояния остается неизменным до тех пор, пока не получено новое значение. Размер точки может быть установлен с помощью функции glPointSizeO, принимающей один вещественный аргумент. Если этот аргумент равен 3.0, то точка обычно рисуется как квадратик со стороной в три пиксела. (Если вы хотите узнать дополнительные подробности об этой или о других функциях OpenGL, то вам следует обратиться к соответствующей документации по OpenGL, часть из которой доступна в он-лайновом режиме в Интернете; см. приложение А). Цвет для рисования (color of a drawing) может быть задан с помощью функции
g1Co1or3f(red. green, blue):
где значения переменных red, green и blue изменяются от 0,0 до 1,0. Например, некоторые из цветов, перечисленных в табл. 1.1, можно задать с помощью такой группы командных строк:
glColor3f(1.0. 0.0. 0.0):
// set drawing color to red
// устанавливаем красный цвет рисования
glColor3f(0.0. 0.0. 0.0):
// set drawing color to black
// устанавливаем черный цвет рисования
glColor3f(1.0. 1.0. 1.0):
// set drawing color to white
// устанавливаем белый цвет рисования
glCo1or3f(1.0, 1.0, 0.0);
// set drawing color to yellow
// устанавливаем желтый цвет рисования Цвет фона (background color) устанавливается с помощью функции gl Cl earCol or (red. green, blue, alpha), где переменная al pha определяет степень прозрачности и будет рассматриваться позднее. (Пока задавайте alpha=0.0.) Для очистки всего окна до цвета фона следует использовать функцию glClear(GL_ C0L0R_ BUFFER_BIT). Аргумент GL_COLOR_BUFFER_BIT представляет собой еще одну встроенную в OpenGL константу.
Установка системы координат
Наш метод установки начальной системы координат может сейчас показаться неясным, однако он станет более понятным в следующей главе, где мы рассмотрим окна, окна проекции и отсечение (clipping). Пока что примем несколько команд на веру. Функция mylnit( ) на рис. 2.9 представляется хорошим сред-