stringtranslate.com

Планар (компьютерная графика)

В компьютерной графике планарность это метод размещения пиксельных данных в нескольких битовых плоскостях ОЗУ . Каждый бит в битовой плоскости связан с одним пикселем на экране. В отличие от упакованной , высокоцветной или полноцветной графики, весь набор данных для отдельного пикселя не находится в одном определенном месте в ОЗУ, а распределен по битовым плоскостям, составляющим дисплей. Планарное расположение определяет, как пиксельные данные размещаются в памяти, а не как интерпретируются данные для пикселя; пиксельные данные в планарном расположении могут кодировать как индексированный , так и прямой цвет.

Эта схема возникла в ранние дни компьютерной графики. Микросхемы памяти этой эпохи не могут поставлять данные достаточно быстро самостоятельно, чтобы генерировать изображение на экране телевизора или монитора из большого кадрового буфера . [1] Разделив данные на несколько плоскостей, каждую плоскость можно хранить на отдельной микросхеме памяти. Затем эти микросхемы можно считывать параллельно с более низкой скоростью, что позволяет отображать графику на скромном оборудовании, таком как игровые консоли третьего и четвертого поколений и домашние компьютеры 80-х годов. Видеоадаптер EGA на ранних компьютерах IBM PC использует планарное расположение в цветных графических режимах по этой причине. Более поздний VGA включает один непланарный режим , который жертвует эффективностью памяти ради более удобного доступа. [2]

Аппаратное обеспечение с плоской графикой

Игровые консоли с планарной организацией дисплея включают Master System и Game Gear от Sega , NES / SNES от Nintendo и PC Engine . [3]

Британский 8-битный BBC Micro имеет частичные элементы планарного расположения пикселей. Словацкий PP 01 включает 24-килобайтный 8-цветный графический режим на основе плоскости с разрешением 256x256 пикселей. 16-битные платформы Atari ST и Amiga 80-х и 90-х годов были основаны исключительно на планарной графической конфигурации вместе с мощным блиттером . Графический чипсет Amiga OCS работает с 5 битовыми плоскостями, что позволяет использовать 2^5=32 цвета на пиксель, в то время как более поздние модели с чипсетом AGA могут обрабатывать восемь битовых плоскостей (2^8=256 цветов).

Для семейства компьютеров Sinclair (Amstrad) ZX Spectrum и совместимых с ним систем в 2019 году было разработано графическое расширение под названием HGFX. В 2022 году оно было реализовано на базе оборудования FPGA . HGFX обеспечивает организацию памяти, совместимую с оригинальной системой ZX Spectrum, занимая при этом всего 6144 байта исходной видеопамяти. Кроме того, оно обеспечивает два видеобуфера, 256 индексированных цветов, палитру TrueColor и выход HDMI. HGFX работает с восемью битовыми плоскостями. [4] В настоящее время оно реализовано как часть компьютера eLeMeNt ZX. [5]

Объединение четырех однобитных плоскостей в конечное изображение «четыре бита на пиксель» (16 цветов)

Примеры

На кусковом дисплее с 4 битами на пиксель и палитрой RGBI каждый байт представляет два пикселя, с 16 различными цветами, доступными для каждого пикселя. Четыре последовательных пикселя хранятся в двух последовательных байтах следующим образом:

В то время как планарная схема могла бы использовать 2 битовые плоскости, обеспечивая 4-цветный дисплей. Восемь пикселей будут храниться в памяти как 2 байта, не смежных друг с другом:

В плоскостном примере 2 байта представляют 8 пикселей с 4 доступными цветами, тогда как в примере упакованных пикселей 2 байта используются для представления меньшего количества пикселей, но большего количества цветов. Добавление плоскостей увеличит количество доступных цветов за счет увеличения объема памяти. Например, использование 4 плоскостей делает доступными 2 4 = 16 цветов, но тогда потребуется 4 байта для представления 8 пикселей (что делает его эквивалентным с точки зрения использования памяти и доступных цветов примеру упакованного расположения).

Преимущества и недостатки

Планарные расположения обеспечивают пространственную и временную эффективность по сравнению с упакованными расположениями при битовой глубине, которая не является степенями 2. В качестве примера рассмотрим 3 bpp , что позволяет использовать 8 цветов. При планарных расположениях для этого требуется всего 3 плоскости. При упакованных расположениях поддержка ровно 3 bpp потребовала бы либо разрешения пикселям пересекать границы байтов (что влечет за собой временные затраты из-за сложностей с адресацией и распаковкой пикселей), либо заполнения (что влечет за собой затраты пространства, поскольку каждый байт будет хранить 2 пикселя и иметь 2 неиспользуемых бита); исторически это одна из причин (хотя и не обязательно главная), по которой упакованные пиксели использовали битовую глубину, которая равномерно укладывается в байты.

Планарные расположения позволяют быстрее переключать глубину цвета: плоскости добавляются или отбрасываются, а (если цвета индексируются) палитра расширяется или усекается. Следовательно, поддержка более высоких глубин цвета может быть добавлена ​​с небольшим или нулевым влиянием на старое программное обеспечение. Простота переключения глубины цвета также позволяет легко использовать элементы с разной глубиной цвета вместе.

Недостатком планарных расположений является то, что для прокрутки и анимации требуется больше циклов адресации ОЗУ .

Смотрите также

Ссылки

  1. ^ Роджерс, Дэвид Ф. (1985). Процедурные элементы для компьютерной графики . McGraw-Hill. стр. 13. ISBN 0-07-053534-5.
  2. ^ "VGA Hardware - OSDev Wiki". wiki.osdev.org . Получено 4 сентября 2017 г. .
  3. ^ "Planar vs Chunky Pixel organization" . Получено 27 июня 2022 г. .
  4. ^ "HGFX". wiki.ilnx.cz . Получено 22 июня 2022 г. .
  5. ^ "eLeMeNt ZX". sites.google.com/view/elementzx/home . Получено 22 июня 2022 г. .