Программирование видеоадаптеров


Больше цветов больше бит


Многие режимы видеоадаптера SVGA позволяют одновременно отображать на экране больше чем 256 различных цветов. Естественно что для этого каждый пиксел должен быть представлен большим количеством бит.

Количество различных цветов

Количество бит для кодировки пиксела

256

8

32768

15

65536

16

16777216

24

4294967296

32

Рассмотрим 256-цветный режим видеоадаптера VGA. Каждый пиксел экрана представлен 8 битами данных видеопамяти. Видеоадаптер VGA содержит таблицу цветов (набор из 256 регистров ЦАП), которые согласно значениям, записанным в ней преобразует 8 битные данные видеопамяти в три 6-битных сигнала. Эти три сигнала поступают на три ЦАП и вырабатывающие красную, зеленую и синюю компоненты, определяющие цвет пиксела. Благодаря применению таблицы цветов вы можете выбрать для одновременного отображения на экране монитора любые 256 цветов из 262144 возможных.

Видеоадаптеры SVGA для каждого пиксела используют больше чем 8 бит. Обычно пиксел определяется 15, 16 или 24 битами. Естественно, что в этом случае использование таблицы цветов адаптера VGA затруднено. Например, для режима 65536 цветов (16 бит на пиксел) требуется увеличить размер таблицы цветов до 65536 18-битных регистров. Если адаптер SVGA кодирует пиксел 24 битами, то придется увеличивать размерность таблицы цветов с 18 до 24 или выше.

Поэтому в большинстве режимов SVGA реализована схема прямого кодирования цвета (Direct Color Mode). Биты, определяющие пиксел, группируются на три основные группы, непосредственно определяющие красную, зеленую и синюю компоненты цвета. Данные из этих трех групп передаются на три ЦАП и формируют видеосигнал. Таблица цветов не используется.

В некоторых режимах SVGA существует дополнительная, четвертая группа бит, также соответствующая каждому пикселу. Как правило, четвертая группа бит не используется. Некоторые модели видеоадаптеров могут использовать ее по своему усмотрению.

Например, на видеоадаптере Diamond Stealth 64, в режиме 110h, соответствующему спецификации VESA, для кодирования одного пиксела отводится два байта (рис. 7.1). Они разделены на четыре группы. Три из них имеют размер 5 бит и отвечают за красный, зеленый и синий компоненты цвета пиксела. Четвертая группа, резервная, состоит из одного бита. На рисунке 7.1 резервная группа отмечена символом 'X'.




Начало  Назад  Вперед



Книжный магазин