Страница 6

Введение в OpenGl. Учебник

Главная
Страница 1
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Страница 10
Страница 11
Страница 12
Страница 13
Страница 14
Страница 15
Страница 16
Страница 17
Страница 18
Страница 19
Страница 20
Страница 21






Скачать учебник
Предыдущая страница
Следующая страница
>

Некоторые команды последней буквой в своем имени могут иметь v, это означает, что команда принимает указатель на вектор (или массив) величин, а не несколько отдельных аргументов. Многие команды имеют и векторную, и не векторную версии, но среди тех, которые не попадают в это число, одни работают только с индивидуальными аргументами, в то время как другие в обязательном порядке требуют указатель на вектор величин в качестве части или всех своих аргументов. Следующий фрагмент показывает пример использования векторной и не векторной версии команды установки текущего цвета.

glColor3f(1.0,0.0,0.0);
GLfloat color_array[]={1.0,0.0,0.0};
glColor3fv(color_array);

Кроме всего прочего, OpenGL определяет тип GLvoid, который чаще всего применяется в векторных версиях команд.
Далее в этом пособии будем мы ссылаться на команды по их базовому имени и звездочке в конце (например, glColor*()), что означает, что приводимая информация относится ко всем версиям определенной команды. Если информация специфична только для подмножества версий одной команды, это будет отмечено при помощи добавления к вышеописанной записи части суффикса (например, glVertex*v() означает все векторные версии команды установки вершины).

1.4 OpenGL как машина состояния (state machine)

OpenGL – это машина состояния. Вы задаете различные переменные состояния, и они остаются в действии, сохраняя свое состояние, до тех пор, пока вы же их не измените. Как вы уже видели, текущий цвет – это переменная состояния. Вы можете установить цвет в красный, синий, белый и так далее, и после этого все объекты будут рисоваться этим цветом до тех пор, пока вы его не измените на что–либо другое. Текущий цвет – это только одна из многих переменных состояния, имеющихся в OpenGL. Другие управляют такими аспектами, как текущая видовая и проекционная трансформации, шаблоны для линий и полигонов, режимы отображения полигонов, соглашения об упаковке пикселей, позиции и характеристики источников света, параметры материалов для объектов и многое другое. Многие переменные относятся к возможностям OpenGL, которые можно включать или выключать командами glEnable() или glDisable().

Предыдущая страница
Следующая страница
Hosted by uCoz