Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsy_po_kompyuternoy_grafike (1).doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
694.27 Кб
Скачать

Буферы кадра

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

Один из подходов, когда битовая плоскость имеет один цвет (красный, зеленый, синий, черный и т.д.). Для аналоговых устройств требуются специальные устройства, преобразующие цифровую информацию в аналоговую (ЦАП).

Работа в реальном времени с растровыми графическими устройствами осуществляется путем одновременного доступа к группам от 16 до 24 пикселей. В случае цветного буфера каждый пиксель может содержать до 32 бит, при этом все битовые плоскости для каждого пикселя доступны одновременно. При среднем времени доступа к каждой группе пикселей 1600 нсек, работа в реальном времени для буферов кадров размером 512 х 512 и 1024 х 1024. Хотя производить реальные работы на растровых устройствах труднее, чем на векторных дисплеях, но на них легче изображать сплошные фигуры с плавными переходами цветов.

Буферы кадра с растровой технологией

Буферы кадра можно также реализовать с помощью сдвиговых регистров. Схематично сдвиговый регистр можно считать стеком типа FIFO. Если стек заполнен, то при добавлении в вершину стека новых битов данных, со дна выталкиваются первые биты данных. Выталкиваемые из стека данные можно интерполировать как интенсивность пикселей сканирующей строки. При этом буферы кадров на сдвиговых регистрах можно реализовать, используя по одному регистру на пиксель в сканирующей строке, при длине каждого регистра равной числу строк.

Д ругой вариант реализации: использование единственного регистра с длиной равной числу пикселей в сканирующей строке, умноженному на число строк.

Адресация растра

Цифровая память, в которой может храниться пиксель, организована в один линейный список адресов, а координаты точки имеют линейные параметры (X, Y). Таким образом, необходимо преобразование координат в линейное пространство.

Предположим, что начальный адрес из памяти не равен нулю, тогда преобразование будет иметь вид:

Адрес = (Xmax - Xmin) (Y - Ymin) + (X - Xmin) + базовый адрес

Эта же схема работает и в случае, когда положительная ось Х направлена направо, а положительная ось Y – вниз, при условии адресации пикселей относительно верхнего левого угла.

Как правило, для заданного буфера кадра Xmax, Xmin,  Ymin и базовый адрес постоянны и уравнение можно записать в следующем виде:

Адрес = K1 + K2 Y + X

K1 = базовый адрес - K2 Ymin - Xmin

K2 = Xmax - Xmin

Вычисленные адреса памяти имеют одно сложение и умножение. При последовательной адресации пикселей для дальнейшего уменьшения работы можно использовать пошаговые вычисления.

Адрес (X ± 1, Y) = Адрес (X, Y) ± 1

Адрес (X, Y ± 1) = Адрес (X, Y) ± K2

Адрес (X ± 1, Y ± 1) = Адрес (X, Y) ± K2± 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]