Ои = а,+а2-<Х|а;.

Операции с изображением на уровне растрового представления

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

Настройка графической системы OpenGL на режим сглаживания выполняется таким образом, что прикладной программе не приходится в явном виде обрабатывать значения компонентов а. В программе требуется только заказать режимы смешивания и сглаживания прямых и точек. Это можно сделать, например, в такой последовательности операторов:

glEnable(GL_P0INT_SM00TH); glEnable(GL_LINE SMOOTH); glEnable(GL_SM00THING);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

Но учтите, что выполнение сглаживания с использованием альфа-канала сопряжено с большими затратами времени.

9.7.5. Тонирование сцен со множеством полупрозрачных объектов Хотя использование альфа-канала и позволяет создать в изображении иллюзию прозрачности объектов, с помощью этой методики нельзя корректно передать характер реальных оптических эффектов, которые возникают при прохождении света через полупрозрачные объекты. На рис. 9.33 показаны некоторые из таких эффектов в реальной сцене. В частности, методика работы с альфа-каналом совершенно игнорирует эффект преломления световых лучей при прохождении через границу раздела полупрозрачных сред. Предположим, что объект, расположенный в глубине сцены, абсолютно непрозрачен, но обладает свойствами частичного зеркального отражения, а два объекта, расположенных ближе к наблюдателю, полупрозрачны (рис. 9.33). Рассмотрим, какие пертурбации претерпевают в этой сцене лучи света, испускаемые источником. Часть из них освещает объект, расположенный в глубине, и соответствующие пиксели изображения должны быть окрашены в цвет, который образуется в результате взаимодействия цвета источника и материала поверхности этого объекта. Причем


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