Начнем мы с анализа методов наложения (mapping). Наложение применяется в процессе тонирования изображения и позволяет создавать иллюзию поверхности со сложной текстурой, хотя в геометрической модели эта поверхность может быть представлена самым заурядным многоугольником. Методы наложения основаны на использовании массива пикселей, который определяет, как модифицируются параметры алгоритма тонирования (о таких алгоритмах шла речь в главе 6), чтобы создать иллюзию сложной рельефной поверхности. Далее будут рассмотрены средства, позволяющие прикладной программе модифицировать отдельные пиксели в буфере, виды дискретных буферов и их назначение, методы доступа к ним, поддерживаемые OpenGL. В частности, будут рассмотрены технологии создания составных изображений, компонентами которых являются пара или более первичные изображения. Для этого нам понадобится четвертый компонент вектора RGBA, и вы узнаете, как с помощью альфа-канала можно накладывать изображения друг на друга, создавая эффект полупрозрачности. В завершение мы еще раз вернемся к проблеме сглаживания границ областей, необходимость в котором возникает вследствие дискретной природы растрового преобразования.

9.1. Буферы и наложение В некоторых алгоритмах, рассмотренных в предыдущих главах, уже использовались два внутренних буфера графической системы - буфер кадра и буфер глубины (или z-буфер). Позже будет рассказано и о других. У всех внутренних буферов системы есть одна общая черта- их дискретная структура. Все буферы имеют ограниченное разрешение- ограниченное количество ячеек (пространственное разрешение) и ограниченную разрядность (разрешение по глубине). Можно дать определение двухмерному' буферу как блоку памяти с пространственным разрешением (размерностью) пх т ячеек и разрядностью каждой ячейки к бит (рис. 9.1). Параметры пит буфера кадра соответствуют параметрам разрешения экрана, а от параметра к зависит максимальное количество цветов, которые система способна создать в одном изображении. Параметры пит буфера глубины также соответствуют пространственному разрешению экрана, а параметр к определяет разрешение графической системы по глубине - расстоянию между объектом и картинной плоскостью. Под термином к-я битовая плоскость (bitplane) будем понимать совокупность к-х разрядов во всех пх т ячейках буфера, а под термином пиксель - все к разрядов одной ячейки, которая соответствует одному элементу изображения. Такое определение означает, что пиксель может иметь формат byte, integer или даже float, в зависимости от того, как используется данный буфер и какой формат выбран для хранения в нем информации.


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