Страница 7 |
Введение в OpenGl. Учебник |
|
Главная Страница 1 Страница 2 Страница 3 Страница 4 Страница 5 Страница 6 Страница 7 Страница 8 Страница 9 Страница 10 Страница 11 Страница 12 Страница 13 Страница 14 Страница 15 Страница 16 Страница 17 Страница 18 Страница 19 Страница 20 Страница 21 Скачать учебник |
||
---|---|---|
Каждая переменная состояния имеет свое значение по умолчанию, и в любой момент вы можете опросить систему на предмет ее текущего значения. Обычно, чтобы это сделать, используется одна из следующих 6 команд: glGetBooleanv(), glGetDoublev(), glGetFloatv(), glGetIntegerv(), glGetPointerv(), glIsEnabled(). Выбор конкретной команды зависит от того, в каком формате вы ожидаете ответ на запрос. Для некоторых переменных состояния имеются более специфические команды опроса (такие как, glGetLight*(), glGetError() или glGetPolygonStipple()). Кроме того, вы можете сохранять наборы значений переменных состояния в стеке атрибутов командами glPushAttrib() или glPushClientAttrib(), временно изменять их значения и позже восстанавливать из стека командами glPopAttrib() или glPopClientAttrib(). Для временного изменения переменных состояния и восстановления их исходных значений следует пользоваться именно этими командами, так как они реализованы более эффективно по сравнению с отдельными командами запросов. 1.5 Конвейер визуализации OpenGLБольшинство реализаций OpenGL имеют сходный порядок операций или этапов обработки, называемый конвейером визуализации OpenGL (OpenGL rendering pipeline). Этот порядок показан на рисунке 1-2 и, хотя он не является жестким правилом для всех реализаций, тем не менее, дает представление о том, что делает OpenGL. Диаграмма демонстрирует конвейер (в духе сборочных линий Генри Форда), который используется OpenGL для обработки данных. Геометрические данные (вершины, линии и полигоны) проходят путь, включающий оценку и повершинные операции, в то время как пиксельные данные (пиксели, изображения и битовые карты) в части общего процесса обрабатываются иначе. Оба типа данных проходят через одинаковые финальные шаги (растеризация и операции над фрагментами) до того, как результирующие пиксельные данные записываются в буфер кадра. Рисунок 1.2. Порядок операций Теперь более детально рассмотрим ключевые этапы конвейера визуализации OpenGL. 1.5.1 СпискиВсе данные, геометрические или пиксельные могут быть сохранены в списках (display lists) для текущего или последующего использования. (Альтернативой занесению данных в списки является их немедленная обработка, известная как непосредственный режим.) Когда исполняется список, сохраненные в нем данные обрабатываются также, как если бы они поступали в непосредственном режиме. |
||