Информация, отображаемая на экране, представляется как матрица дискретных точек. Для привязки изображения к целочисленным координатам экрана осуществляется масштабирование проекций вершин и преобразование примитивов в растровую форму. Чтобы обеспечить последующее удаление невидимых точек, при растеризации для каждого фрагмента определяются не только его экранные координаты, но и значение координаты z.

Для каждого фрагмента, получаемого при растеризации примитива, выполняется тест глубины, на котором производится проверка его видимости с использоСистемы координат графических библиотек ванием 2-буфера. По экранным координатам фрагмента определяются соответствующие ячейки буфера цвета и 2-буфера. Координата г очередного фрагмента сравнивается с хранящейся в 2-буфере координатой ранее записанного в буфер пиксела, а дальнейшая обработка определяется результатом сравнения. Так, если фрагмент не проходит тест, он отбрасывается и последующие этапы работы выполняются только для видимых фрагментов. Если же фрагмент успешно прошел тест, то его г-координата заносится в соответствующую ячейку 2-буфера и далее формируется цвет пиксела.

Код цвета непрозрачной грани записывается в буфер цвета, а цвет фрагмента полупрозрачной грани перед записью смешивается с цветом пиксела, уже хранящегося в буфере. Из-за этого изображение сцены с полупрозрачными гранями зависит от порядка обработки примитивов. Если объект, заслоненный полупрозрачной гранью, растеризуется после нее, а ранее он уже был отброшен тестом глубины, то смешивания цветов не будет и пользователь не увидит этот объект сквозь полупрозрачную грань. Чтобы устранить этот недостаток, код прозрачности должен быть присвоен не только фрагменту примитива, но и соответствующему пикселу цветового буфера или элементу 2-буфера. Для хранения степени прозрачности предусмотрен четвертый байт в формате пиксела ШИВА, но пока я не знаком с примерами его практического применения.

Для повышения качества и реалистичности изображения цвет внутренних точек примитива формируется с применением различных алгоритмов интерполяции цвета его вершин.


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