Обзор OpenGL

и текущий масштаб (устанавливаемый gl Pixel Zoom и влияющий на увеличение или уменьшение рисуемой картинки).

После растеризации фрагменты из пиксельных прямоугольников подвергаются тем же самым операциям, что и графические примитивы (см. рис. 1.1, б), и потом проходят тот же самый путь, что и графические примитивы, пока пикселы не будут окончательно размещены в буфере кадров (см. рис. 1.1,5-10).

Если значения пикселов задаются функциями g 1 Тех Image или glTexSublmage, они не проходят растеризацию и дальнейшую обработку, а непосредственно записываются в указанную часть текстурной памяти (см. рис. 1.1, 15).

1.8.4. Проверка чтения Функция gl ReadPixel s читает прямоугольные области из буфера кадров и возвращает их приложению. Чтобы просто скопировать их внутри буфера кадров из одной области в другую, используется функция gl Сору Pixel s. Для копирования из буфера кадров в текстурную память применяются функции glCopyTexImage и glCopyTex-Sublmage. Во всех перечисленных случаях та часть кадрового буфера, что будет прочитана, контролируется этапом проверка чтения OpenGL и устанавливается командой gl ReadBuffer (см, рис, 1.1, 16).

Прочитанные из буфера значения могут проходить этан перемещения пикселов и подвергаться различным операциям обработки изображений.

.11олученные после обработки пикселы в процессе копирования записываются в текстурную память или обратно в буфер кадров н зависимости от использованной команды. Если же выполняется операция чтения, пиксел ы проходят еще и этап упаковки пикселов (см, рис. 1.1, 17). Это операция, противоположная распаковке пикселов (см. рис. 1.1, 12). Существует несколько параметров, указывающих, как данные изображения будут храниться в памяти (длина каждой строки пикселов, количество пропущенных строк сверху, количество пропущенных пикселов слева). Эти параметры задаются функцией g I Pixel Store. Все это дает приложению возможность выбрать, в каком формате OpenGL вернет ему данные изображения, прочитанные из буфера кадров.


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