Средства для растровой графики

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

В разделе 10.9 «Увеличение количества цветов и оттенков» описывается, как различными способами заставить растровый дисплей показывать больше цветов, чем у него есть на самом деле, - с помощью сглаживания и рассеивания дефектов. В тематических заданиях эти темы получают дальнейшее развитие, а также рассматриваются важные программные проекты.

10.1. Введение Изображения состоят из массивов пикселов и обычно отображаются на растровом дисплее. Существует два основных способа создания изображений:

1. Сканирование (и оцифровка) уже существующего фотографического или телевизионного изображения.

2. Процедурное вычисление значений пикселов, как при визуализации сцены.

В предыдущих главах основное внимание уделялось второму пути: мы генерировали такие графические примитивы, как прямые линии или полигоны, и рассматривали способы связать с каждым из них цвета или текстурные коордййаты. С помощью OpenGL мы просто «посылали» их в порт просмотра, после чего они отображались на экране. В процессе этого мы, однако, обошли молчанием ключевой этап назначения нужного цвета каждому отдельному пикселу «внутри» прямой или полигона. Процесс получения такой информации высокого уровня, как координаты и цвета вершин, установка цветов множества пикселов в какой-нибудь области буфера кадров, называется «преобразованием развертки» (scan conversion) или растеризацией (rasterization). На рис. 10.1 показан участок «выходной» работы графического конвейера, относящийся к растеризации. Когда вершины выходят из преобразования порта просмотра, OpenGL «собирает» их в соответствующий примитив (это определяется командой glBegin(GL_P0LYG0N) или подобной ей) и затем растеризует получившийся примитив, задавая свойства тех пикселов, которые «лежат внутри» примитива. В данной главе мы исследуем, как зто делается, показывая способы рисования прямых и заполнения полигонов цветами и текстурами.


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