30

Spectral Power Distributions and Why RGB Is Not Enough

The physical truth about a beam of light is a curve - energy per wavelength across the visible spectrum. Cameras, screens, and CSS reduce that curve to three numbers, and most of the time we get away with it. The other times - the ones that matter for matching, printing, and rendering - are why the full spectrum still rules.

Physics · 04 10 Live Demos ~50 min read SPD → tristimulus
∞-dim
Spectrum dimensionality
3-dim
After cones / RGB
5 nm
Typical sampling step
81 pts
SPD at 5 nm, 380-780
ADV

Advanced SPD workbench

A spectrum becomes useful when you can pass it through the whole chain: source SPD, surface reflectance, observer or sensor response, sampling resolution, and illuminant change. This workbench lets those pieces interact as one system instead of as isolated definitions.

Interactive 00 - Spectral pipeline

Model source, material, observer, metamerism, and sampling loss

Choose a source, sculpt a reflectance curve, and change the simulated sensor. The canvas shows source power, reflectance, and the stimulus SPD that reaches the observer. The readouts show the compressed three-channel result and how much information is lost.

Stimulus color --
Tristimulus / sensor --
Chromaticity --
Metamer risk --
Sampling loss --
Spectral character --
selected
D65
A

The same reflectance can compress to similar three-channel values while the underlying stimulus curves remain very different.

01

What an SPD actually is

A spectral power distribution (SPD) is a curve. The horizontal axis is wavelength, usually 380 to 780 nanometers in steps of 5 or 10. The vertical axis is radiant power per unit wavelength - how much energy the light carries at each wavelength. That single curve is the physically complete description of a beam of light. Everything else - intensity, color, color temperature, CRI - is derived from it.

Φ(λ) [W·nm⁻¹] spectral power per wavelength interval

There are two practical forms. Continuous SPDs describe sources whose emission varies smoothly with wavelength - sunlight, incandescent bulbs, blackbody radiators of any kind. Discrete SPDs are sharp peaks at specific wavelengths - gas-discharge lamps, lasers, sodium-vapor street lights. Mixed SPDs have both, like fluorescent tubes (phosphor continuum with mercury peaks) or "white" LEDs (blue pump peak plus a broad phosphor hump).

Radiant SPD
Φ(λ) in W·nm⁻¹. The raw physical quantity.
Relative SPD
SPD normalized so that the value at 560 nm equals 100. Standard illuminants are published this way.
Reflectance SPD
R(λ): the fraction of light each wavelength a surface reflects. Multiplied by the illuminant SPD to get the stimulus SPD.
Transmittance SPD
T(λ): the fraction transmitted by a filter or sample.
Stimulus SPD
Illuminant × reflectance. This is what actually reaches the eye from a non-self-luminous object.
Sample step
Most published SPDs are tabulated at 5 nm or 10 nm. Finer steps catch the spikes of fluorescent lamps; coarser misses them.
02

Anatomy of a spectrum

Three types of features show up in almost every real SPD: a broad continuum from thermal sources or phosphors; narrow peaks from gas discharges or laser pumps; and a baseline that may dip toward zero outside the visible band. Reading an SPD comes down to identifying these features and reasoning about what they will do to a particular cone, observer, or camera.

Interactive 01 · Build an SPD

Mix three Gaussian components into a working spectrum

Each slider controls a separate spectral component: amplitude, center wavelength, and width. The final curve is the sum. Watch the resulting color swatch, integrated luminance, and rough color temperature update as you reshape the curve.

Approximate appearance
#888888
Estimated CCT
3400 K
Total radiant power (rel)
110.0
Visible-band ratio
94.2%
03

The standard illuminants

To measure or specify color across labs, the CIE published reference light sources - standard illuminants - as named SPDs. Pick one as your reference, multiply it by your sample's reflectance, integrate against the standard observer, and you get the tristimulus values that uniquely identify the color under that illuminant. Different illuminants will produce different tristimulus values for the same surface, which is the whole reason illuminant choice matters.

Interactive 02 · Illuminant atlas

Six published illuminants, drawn to scale

Click a tab to switch illuminants. Notice the differences. Daylight (D65, D50) is broad and balanced. Tungsten (A) is heavily red-weighted. Fluorescent (F2) has narrow mercury spikes on top of a phosphor continuum. LED 4000 K has a blue pump peak and a yellow-orange phosphor hump. Sodium is essentially monochromatic.

Illuminant name
D65 (average daylight)
Correlated color temperature
6504 K
Approximate appearance
#ffffff
Typical use
Web, screens, sRGB white point
Two whites that match a calibrated screen may still look different on a printed page. The screen's white point sits at D65; most print viewing is specified at D50. The white in your eye is the same in both cases; the SPDs are not. This is the everyday practical face of "illuminant matters."
04

From spectrum to color

The path from physical SPD to a numerical color goes through one operation: integration against the standard observer's color matching functions (x̄(λ), ȳ(λ), z̄(λ)). Each tristimulus value X, Y, Z is a weighted sum of the SPD over wavelength.

X = k ∫ Φ(λ) x̄(λ) dλ    Y = k ∫ Φ(λ) ȳ(λ) dλ    Z = k ∫ Φ(λ) z̄(λ) dλ tristimulus values from spectral power and CIE 1931 2° matching functions

That is the formal moment color science becomes a number. Before this integration, a spectrum lives in a function space of effectively infinite dimensions. After it - whether by cones in a living eye or by computation against the CMFs - it lives in three. Two SPDs that integrate to the same XYZ triplet are, by definition, colorimetrically identical, even if their underlying physics is completely different.

Interactive 03 · Tristimulus integration

Shape a spectrum and watch X, Y, Z respond

The slider scrolls a narrow spectral "spike" of constant area across the visible band. The right side shows where the spike lands inside each CMF, and how the X, Y, Z totals respond. Read this as: "what color does the brain see if you flash this single wavelength of light?"

x̄(λ) ȳ(λ) z̄(λ)
Tristimulus X
0.000
Tristimulus Y
1.000
Tristimulus Z
0.000
Chromaticity (x, y)
0.330, 0.660
Approximate appearance
#88ee44
05

Why RGB is not enough

Three numbers can describe what the human eye perceives, but they cannot describe the physical light that produces that perception. There are infinitely many SPDs that compress to the same RGB - or to the same XYZ - because cones and color matching functions both collapse the spectrum by integration.

That collapse is not a bug; it is the price of efficiency. Three cones cannot store an 81-point spectrum. They report integrated responses, a lossy compression that works most of the time because human vision is the destination. The problems show up whenever the destination changes - a different observer, a different illuminant, a different sensor, a different recipient material.

What RGB can do

Match the visual experience of a calibrated observer under the same conditions you captured. Drive a display whose primaries are well-specified. Travel through web pipelines using sRGB or Display P3.

What RGB cannot do

Predict the color under a different illuminant. Predict the camera response of a different sensor. Identify two materials with identical spectra. Match a paint sample under D50 viewing if it was specified under D65.

"Color is the property of an SPD relative to an observer. RGB is the value of that property under one observer." Editorial summary · Auric Artisan color-science library
06

Metamerism

Two stimuli with different SPDs but identical tristimulus values are called metamers. Under one illuminant and one observer, they look the same. Under a different illuminant - or a different observer with slightly different cone sensitivities - they often look different. This is the source of an entire category of practical problems in printing, paint matching, textile dyeing, and display calibration.

Illuminant metamerism
Two samples match under one illuminant but not another - the commonest case in colour matching.
Observer metamerism
Two samples match for the average observer but not for someone with slightly different cone sensitivities.
Field-size metamerism
Samples that match in a small (2°) field but disagree in a larger (10°) field, because the field-size observer differs.
Index of metamerism
A single number summarising how much two metamers diverge when moved to a second illuminant - the basis for assessing dye and paint quality.
Interactive 04 · Metamer simulator

Build a metameric pair, then change the illuminant

Two patches share the same approximate Y under D65 by construction. One has a smooth daylight-like SPD; the other has narrow phosphor-like spikes. Under D65 they match. Switch the illuminant to A (tungsten) or F2 (fluorescent) - or one you build yourself - and the two patches diverge by an amount that depends on how peaky each SPD is.

ΔE ≈ 0
Smooth SPD
#9070b0
Peaky SPD (same XYZ under D65)
#9070b0
smooth spiky
07

Color rendering: CRI, Ri, TM-30

Two light sources can have the same color temperature - and therefore look the same color when the bulbs are turned on - yet make objects in a room look very different. The color rendering index (CRI, also called Ra) is a 0-100 score summarizing how faithfully a light source reproduces a standard set of reference colors compared to a reference of the same correlated color temperature. CRI 100 is perfect (matches the reference exactly); CRI 80 is the rough threshold for residential use; CRI 90+ is considered "excellent."

CRI has well-documented limitations. It uses only eight desaturated patches (R1-R8), can be gamed by sources that score well on Ra while failing on the four saturated samples (R9-R12, especially R9 deep red). The newer IES TM-30-15 standard uses 99 evaluation samples plus separate Fidelity (Rf) and Gamut (Rg) scores to give a more nuanced picture.

Interactive 05 · CRI scorer

Score a synthetic light source against a daylight reference

Adjust the relative phosphor balance. The bar chart below shows the simulated R1-R8 color rendering scores plus the deep-red R9. A score of 100 means a sample under your light looks identical to its appearance under D65; less means the sample has shifted.

Ra (CRI average)
82
R9 deep red
45
Approximate CCT
4100 K
Quality verdict
Acceptable for residential, poor for retail and skin tones
Likely best fit
Office, general purpose
CRI does not measure brightness - it measures rendering fidelity. A 95 CRI lamp at 200 lumens can leave a room looking duller than a 70 CRI lamp at 1000 lumens. Conversely, a high-lumens warehouse lamp with 65 CRI can make food, skin, and red labels look terrible. The two numbers are independent and both must be specified.
08

SPDs in the real world

A handful of source archetypes account for almost every light you will ever see. Each has a distinctive SPD signature.

Direct sun + sky
Broad continuum, slightly enhanced at blue from sky scattering. Peak around 500 nm. The closest natural reference to D65.
Tungsten incandescent
Pure blackbody-like, peaks deep in infrared, very red-shifted in the visible. CRI 100 but very warm.
Halogen
Slightly hotter blackbody than tungsten (~3000 K). Same shape, shifted whiter.
Fluorescent
Continuum from phosphors + sharp mercury lines (~436, 546, 578 nm). CRI 60-95 depending on phosphor blend.
"White" LED (phosphor)
Narrow blue pump (~450 nm) + broad phosphor hump (~560 nm). Cheap, efficient, often poor deep-red rendering.
RGB LED display pixel
Three narrow peaks at the screen's primaries. Wide gamut, very peaky SPD - prone to metamerism with continuous-spectrum references.
Sodium vapor (LPS)
Essentially one peak at 589 nm. Almost no color rendering at all; everything looks yellow or black.
Candle / firelight
Blackbody around 1900 K. Heavy red, almost no blue. Subjectively warm even when CRI is decent.
100
CRI of incandescent
~80
Typical white LED CRI
~60-65
Cheap fluorescent CRI
~25
Sodium-vapor CRI
09

When SPDs really matter

In many everyday situations, RGB is enough. The screen you are reading lives on three primaries and most viewers will never notice. But there are specific workflows where the full spectrum is non-negotiable.

Paint and dye matching
Pigment formulators need spectral matches, not just visual ones, or batches will diverge under store-vs-home lighting.
Print proofing
Inks under viewing-booth D50 must match preview under monitor D65 - a transformation that requires both SPDs explicitly.
Camera characterization
A sensor's three RGB filters are not the CIE matching functions. Characterizing the difference needs spectral measurement.
Display certification
DCI-P3 monitors, HDR mastering, and Rec.2020 transmission all ultimately track spectral primaries, not just chromaticity coordinates.
Conservation imaging
Recovering the original color of faded pigments requires spectral capture - tristimulus is too lossy.
Multispectral remote sensing
Satellites and medical imaging operate on dozens of spectral bands - tristimulus would discard the information they exist to capture.
"An RGB triple is a lossy summary of a measurement. The measurement was the SPD." Color metrology fieldwork principle
10

Test your understanding

Six questions on SPDs, illuminants, and the limits of three-number color. Wrong answers come with brief explanations.

Quick check

Loading…
 
Question 1 of 6
11

Continue your journey