A Survey of Color for Computer Graphics
A Survey of Color for Computer Graphics
A Survey of Color for Computer Graphics
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A <strong>Survey</strong> <strong>of</strong> <strong>Color</strong> <strong>for</strong> <strong>Computer</strong> <strong>Graphics</strong> SIGGRAPH 2001<br />
face reflectances <strong>of</strong> non-fluorescent objects 2 are <strong>of</strong>ten very smooth, as is the spectral distribution<br />
<strong>of</strong> daylight or <strong>of</strong> incandescent light. There<strong>for</strong>e it is possible to adapt the<br />
sampling to give a more efficient representation. Gary Meyer, Roy Hall and Andrew<br />
Glassner have all proposed methods <strong>for</strong> doing this, and Roy Hall has a paper surveying<br />
this topic in the July 1999 issue <strong>of</strong> IEEE <strong>Computer</strong> <strong>Graphics</strong> and Applications. The most<br />
efficient representations use as few as 4 samples/spectrum. Note, however, that a more<br />
concise representation may mean a more expensive reconstruction algorithm when the<br />
spectra are actually applied in the rendering.<br />
Another way to create an efficient representation <strong>for</strong> a set <strong>of</strong> curves is to define basis<br />
functions that can be linearly combined. With this approach, only the scalar multipliers<br />
<strong>for</strong> the basis functions need to be stored <strong>for</strong> each color. Maloney and Wandell have applied<br />
this technique to a variety <strong>of</strong> surface datasets, and Mark Peercy has applied this<br />
approach to computer rendering in his SIGGRAPH ’93 article.<br />
To display spectra on a monitor, they must be converted to RGB monitor values. Using<br />
trichromatic theory and the CIE color matching functions, it is straight<strong>for</strong>ward to convert<br />
from spectra to tristimulus values. Because a digital monitor is also a three dimensional<br />
additive color system, there is a linear trans<strong>for</strong>mation that converts from CIE tristimulus<br />
values to the intensity needed <strong>for</strong> each <strong>of</strong> R, G and B. This matrix is derived from the tristimulus<br />
values that describe the monitor primaries, as is shown in the slides.<br />
RGB representations evolved by simply applying grayscale shading models to the red,<br />
green and blue image components independently. The effect is that any color is described<br />
as a linear combination <strong>of</strong> the three display primaries. If all we want to do is specify individual<br />
colors, or additive mixtures <strong>of</strong> them, this is fine. However, in rendering, we<br />
multiply the spectrum <strong>of</strong> the light by the reflectance <strong>of</strong> the surface. This is not guaranteed<br />
to produce another spectrum that can be represented as a linear combination <strong>of</strong> the display<br />
primaries. Said another way, if the RGB values are the tristimulus values <strong>for</strong> the<br />
spectra, the product <strong>of</strong> the tristimulus values does not equal the tristimulus values <strong>of</strong> the<br />
product <strong>of</strong> the spectra. The exception is when one <strong>of</strong> the spectra is an equal energy white,<br />
which is <strong>of</strong>ten the case <strong>for</strong> simple graphics systems. A SIGGRAPH ’91 paper by Carlos<br />
Borges provides an analysis and bound <strong>for</strong> the error created by using an RGB model.<br />
Using an RGB representation <strong>for</strong> color can be very effective. Its failings only really appear<br />
as the lighting and shading models become more complex. The difficulty <strong>of</strong><br />
constructing a simple case where RGB fails can be seen using the demonstrations in the<br />
<strong>Color</strong> Playground from Brown University that are included with the CDROM version <strong>of</strong><br />
these notes.<br />
Viewing Rendered <strong>Graphics</strong><br />
All graphics rendering algorithms must ultimately produce an image that can be displayed<br />
on a monitor or some other digital display device. The rendering color space is an<br />
unbounded, linear intensity space that must be mapped to the bounded, non-linear color<br />
space <strong>of</strong> a display system. As in image reproduction, the issues include definition <strong>of</strong> the<br />
correct RGB primaries, intensity mapping, out-<strong>of</strong>-gamut colors, and appearance consid-<br />
2<br />
Phosphors, which are used in CRT displays or in the coating <strong>of</strong> fluorescent lights, contain high-energy<br />
spikes that must be carefully sampled.<br />
Maureen C. Stone 18<br />
StoneSoup Consulting