Planar (computer graphics)
In computer graphics, planar is the method of representing pixel colours with several bitplanes of RAM. Each bit in a bitplane is related to one pixel on the screen. Unlike Chunky, Highcolour or Truecolour graphics, the whole data for an individual pixel isn't in one specific location in RAM, but spread across the bitplanes that make up the display.
This scheme originated in the early days of computer graphics, when available memory chips could not supply data fast enough on their own to generate a picture on a TV screen or monitor from a large framebuffer.[1] By splitting the data up into multiple planes, each plane could be stored on a separate memory chip. These chips could then be read in parallel at a slower rate, allowing graphical display on modest hardware. The EGA video adapter on early IBM PC computers used planar arrangement in colour graphical modes for this reason. When the later VGA was introduced, it included one non-planar mode which sacrificed memory efficiency for more convenient access.[2]
For example, on a chunky display, each byte represents one pixel. Three pixels in a row would be stored as follows, where up to 256 different colours are available:
Byte index | 0 | 1 | 2 |
---|---|---|---|
Value (binary) | 00000000 | 00000001 | 00000010 |
Value (decimal) | 0 | 1 | 2 |
Resulting pixel | Black | Blue | Green |
Whereas a planar data store could use 2 bitplanes, providing for a 4 colour display:
Byte index | 0 | |||||||
---|---|---|---|---|---|---|---|---|
Bit index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Plane 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Plane 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Resulting pixel | 1 | 0 | 0 | 2 | 0 | 0 | 3 | 0 |
Byte value | 146 |
Adding a third plane would make 23=8 colours available. Where fewer than 256 colours are needed, planar graphics are more economical in RAM compared with 8-bit chunky graphics, as there are no unused bits in a given byte.
A disadvantage of planar graphics is that more RAM address cycles are needed for scrolling and animations, although these operations can be made faster by dedicated hardware such as the blitter chips used in Amiga and some later Atari ST computers.
References
- ↑ Rogers, David F. (1985). Procedural Elements for Computer Graphics. McGraw-Hill. p. 13. ISBN 0-07-053534-5.
- ↑ http://wiki.osdev.org/VGA_Hardware