20.12.2012 Views

A Survey of Color for Computer Graphics

A Survey of Color for Computer Graphics

A Survey of Color for Computer Graphics

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!