Буфер кадра представляет собой большой непрерывный участок памяти компьютера. Изображение строится побитно, так как бит в памяти имеет только 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
Вычисленные адреса памяти имеют одно сложение и умножение. При последовательной адресации пикселей для дальнейшего уменьшения работы можно использовать пошаговые вычисления.