
- •4. 3. Архитектура видеоадаптеров ega и vga
- •Монитор
- •Видеопамять
- •Текстовый режим
- •Знакогенератор
- •Атрибуты символов
- •Атрибуты символов (монохромный режим)
- •Видеопамять в графических режимах
- •Режимы 4 и 5
- •Режим 6
- •Режимы 0Dh и 0Eh
- •Режим 0Fh
- •Режим 10h
- •Режим 11h
- •Режим 12h
- •Режим 13h
- •5. 7. Видеоадаптеры svga
- •Видеопамять svga
- •Слоеный пирог
- •Увидеть весь мир через замочную скважину
- •Больше цветов больше бит
- •Стандарт vesa
- •6. 11.1. Введение
- •11.2. Преобразование отрезков из векторной формы в растровую
- •Простейший пошаговый алгоритм
- •Алгоритм Брезенхэма для отрезков прямых
- •11.3. Растровая развертка литер
- •Пропорциональное размещение литер. Нижние выносные элементы
- •17,18 Введение в модели закрашивания
- •Геометрические составляющие для нахождения отраженного света.
- •Вычисление диффузионной составляющей
- •Зеркальное отражение
- •Фоновые источники и фоновые отражения
- •Комбинирование компонентов освещения
- •Добавление цвета
- •[Править] Описание алгоритма
- •0.6.1 Двумерный алгоритм Коэна-Сазерленда
- •[Править] Достоинства
- •[Править] Недостатки
- •О трассировке лучей
- •Матрицы и вектора
- •Обратная трассировка лучей Определение цвета точки. Текстурные карты и свойства материалов
- •16 15. Цвет в компьютерной графике
- •Перспективная проекция
- •10 Лекции по компьютерной графике
- •3.1. Координаты и преобразования
- •3.3. Преобразование в однородную систему координат
- •Поворот вокруг фиксированной точки
- •[Править] Отличия от ega
- •[Править] Текстовые режимы
- •[Править] Графические режимы
- •[Править] Стандартные графические режимы
- •[Править] Нестандартные графические режимы (X-режимы)
Видеопамять svga
Видеоадаптеры SVGA превосходят VGA по разрешению экрана и количеству одновременно отображаемых цветов.
Лучшие режимы VGA |
Типичные режимы SVGA |
640 x 480; 16 цветов |
800 x 600; 256, 64 К, 16,7 М цветов |
320 x 200; 256 цветов |
1024 x 768; 256, 64 К, 16,7 М цветов |
|
1280 x 1024; 256, 64 К, 16,7 М цветов |
Чтобы иметь возможность отображать большое количество цветов при большой разрешающей способности, видеоадаптер SVGA должен иметь значительно больше видеопамяти, чем адаптер VGA. Например, для реализации режима с разрешением 1024 x 768 пикселов и возможностью одновременного отображения 64 К цветов необходима видеопамять объемом 1,6 Мбайт.
Для доступа центрального процессора к видеопамяти обычно резервируется адресное пространство размером всего 64 Кбайт. Как же процессор получает доступ к видеопамяти, объем которой для некоторых режимов достигает 4 Мбайт? Существует несколько различных подходов к решению этой проблемы, которые могут комбинироваться.
Слоеный пирог
В большинстве стандартных режимов адаптеров EGA и VGA видеопамять организована из четырех слоев. По каждому адресу расположены сразу четыре байта. Благодаря специальным схемам видеоадаптер может получить доступ к отдельным слоям памяти.
Простейший путь втиснуть в адресное пространство объемом 64 Кбайт больше памяти лежит в увеличении количества слоев видеопамяти. Действительно у некоторых моделей видеоадаптера SVGA видеопамять организована в 8 и даже в 16 слоев. Каждый байт видеопамяти определяет 8 пикселов. Восемь слоев памяти позволяют закодировать 256 возможных цветов для пиксела, а шестнадцать слоев - 65536 различных цветов.
Однако увеличение числа слоев влечет за собой усложнение аппаратуры видеоадаптера и ее удаление от стандарта адаптера VGA, регистры которого рассчитаны только на четыре слоя памяти.
Увидеть весь мир через замочную скважину
Многие современные видеоадаптеры применяют давно известный прием, ранее использовавшийся для подключения к компьютеру дополнительной памяти. Центральный процессор получает доступ к видеопамяти через небольшое окно. Это окно может иметь небольшой размер - до 64 Кбайт и располагаться в адресном пространстве процессора. Обычно окно занимает адресное пространство A000:0000h - A000:FFFFh, то есть расположено также как и для стандартных цветных режимов видеоадаптеров EGA, VGA и SVGA. Процессор компьютера может перемещать это окно по всей видеопамяти адаптера получая доступ к разным ее участкам.
Таким образом, процессор может одновременно получить доступ только к части видеопамяти. Чтобы обратиться к другому участку видеопамяти, необходимо переместить окно доступа. Обычно для этого достаточно записать в определенный регистр видеоадаптера SVGA положение окна относительно начала видеопамяти.
Доступ к видеопамяти через небольшое окно создает определенные трудности для программного обеспечения. Теперь чтобы отобразить на экране монитора пиксел вы должны не только вычислить положение соответствующей ячейки видеопамяти, но также определить смещение для окна доступа.
Одновременно усложняются процедуры, отображающие на экране линии и другие геометрические фигуры. Возможно, что выводимое на экран изображение не помещается в одно окно. Процедура должна будет соответственно перемещать окно по видеопамяти.
Усложняются процедуры копирования изображения из одной позиции экрана в другую. Они должны учитывать, что при копировании может понадобиться перемещать окно доступа к видеопамяти.
Чтобы немного помочь программистам в решении этих и многих других задач, некоторые реализации видеоадаптеров SVGA отводят для доступа к видеопамяти не одно, а два окна. Обычно они обозначаются как окно A и окно B. В некоторых моделях видеоадаптеров через одно окно можно только записывать данные в видеопамять, а через другое только читать из видеопамяти.