Contents /
Previous /
Next
Colormode: RGBA versus Color-Index Mode
RGBA Mode
The R, G, and B
values are typically stored as scaled integers.
If a system has 8 bits available for the R
component, integers between 0 and 255 can be stored;
thus, 0, 1, 2, ..., 255 in the bitplanes would
correspond to R values of 0/255 = 0.0, 1/255, 2/255,
..., 255/255 = 1.0. Regardless of the number of
bitplanes, 0.0 specifies the minimum intensity, and 1.0
specifies the maximum intensity.
The alpha value (the A in RGBA) has no direct effect on
the color displayed on the screen. It can be used for
many things, including blending and transparency, and
it can have an effect on the values of R, G, and B that
are written.
Color-Index Mode
With color-index mode, OpenGL uses a color map (or
lookup table), which is similar to using a palette to
mix paints to prepare for a paint-by-number scene.
A computer stores the color index in the bitplanes for
each pixel. Then those bitplane values reference the
color map, and the screen is painted with the
corresponding red, green, and blue values from the
color map
In color-index mode, the number of simultaneously
available colors is limited by the size of the color
map and the number of bitplanes available. The size of
the color map is determined by the amount of hardware
dedicated to it. Typical sizes range from 256 (2^8) to
4096 (2^12). The size of the color map is a power of 2,
indexed by the number of bitplanes available in
color-index mode. If there are 2n indices in the color
map and m available bitplanes, the number of usable
entries is the smaller of 2n and 2m.
RGBA versus Color-Index
With RGBA mode, each pixel's color is independent of
other pixels. However, in color-index mode, each pixel
with the same index stored in its bitplanes shares the
same color-map location. If the contents of an entry in
the color map change, then all pixels of that color
index change their color.
You might prefer to use color-index mode in the
following cases:
-
If you have only a small number n of bitplanes
available and if you need fewer than 2n different
colors, you should consider color-index mode.
-
If you have a limited number of bitplanes
available, RGBA mode might produce noticeably coarse
shading.
-
Color-index mode can be useful for various
tricks, such as color-map animation and drawing in
layers.
-
When porting an existing application that
makes significant use of color-index mode.
In general, use RGBA mode: It works with texture
mapping and works better with lighting, shading, fog,
antialiasing, and blending.