What a scene does

A bounce is a multiplication

Colorimetry multiplies an illuminant by a reflectance once and integrates. A surface in a room is lit by every other surface the lamp reached first, so the spectrum arriving at the eye has been multiplied several times — and the second multiplication is where the whole apparatus of matching starts to come apart.

Assumes A spectrum is not a colour and The illuminant is half the answer.

18 min read 8 figures Computed, not quotedSay which colour

Every other essay on this site begins the same way. A spectral power distribution meets a reflectance, the two are multiplied wavelength by wavelength, the product is integrated against three colour-matching functions, and three numbers come out. That is colorimetry, it is correct, and it describes a situation that almost never occurs: a single patch, lit by a single lamp, with nothing else in the room.

Put the same patch in a room and something is added that the multiplication above has no place for. The lamp reaches the walls, the floor and the ceiling as well, and each of those sends light back. So the patch is lit by the lamp and by everything the lamp reached first — and every one of those surfaces has already multiplied the spectrum by its own reflectance before passing it on.

A spectrum after 2 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 530 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.235. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 1 A lamp’s spectrum, the same spectrum after one reflection off a surface peaking at 530 nm, and after a second reflection off the same surface. Each swatch is drawn at fixed luminance so only the chromaticity varies. The distance from the D65 white point rises at every step, because the product of a spectrum with itself is narrower than the spectrum.

How narrow the surface’s band is decides how fast the product collapses, and it is the only argument that matters.

A spectrum after 3 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 530 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.446. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 2 Three bounces off a narrow band in the green. Each product is the previous one multiplied by the same curve, so the spectrum narrows rather than dimming — the operation is a power, not a scaling.
A spectrum after 2 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 590 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.222. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 3 And two bounces off a broad warm reflectance, which is what an ordinary painted room is. Individually each step is a small change; the second is the first squared, and squaring is what a room does whether or not anybody notices.

Two more settings say that the width of the band and the wavelength it sits at are two separate arguments to the same operation.

A spectrum after 2 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 530 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.181. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 4 Two bounces off a band of the same depth and more than twice the width. Squaring it is still a sharpening; what comes out is a gentle tilt rather than a spike, because the operation multiplies shapes rather than dimming them.
A spectrum after 2 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 640 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.380. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 5 And two bounces off a narrow band at the long-wave end. The arithmetic is identical and the colour it produces is not, because where a reflectance sits decides which ratios a squaring moves.

The claim

Interreflection is elementwise multiplication, and multiplication does not commute with the integral.

That sentence is the whole of this field. Everything in the eleven essays after it is a consequence, and most of the consequences are unwelcome.

The first half is uncontroversial and is simply what reflection is. A surface with reflectance ρ(λ)\rho(\lambda) lit by a spectrum E(λ)E(\lambda) sends away E(λ)ρ(λ)E(\lambda)\rho(\lambda). If that light meets a second surface of reflectance σ(λ)\sigma(\lambda), what leaves the second surface is E(λ)ρ(λ)σ(λ)E(\lambda)\rho(\lambda)\sigma(\lambda). If the second surface is the same material as the first — a corner of one wall, a fold in one sheet of paper — then the light carries ρ(λ)2\rho(\lambda)^2.

The second half is where the trouble starts. The three numbers that describe a colour are three linear functionals of the spectrum:

X=E(λ)ρ(λ)xˉ(λ)dλX = \int E(\lambda)\rho(\lambda)\,\bar{x}(\lambda)\,\mathrm{d}\lambda

and correspondingly for YY and ZZ. Linear in ρ\rho, which is the property everything downstream leans on. Knowing XX, YY and ZZ for two surfaces is enough to say whether they match, and enough to say what a mixture of them does, precisely because the integral distributes over sums.

It does not distribute over products. Eρ2xˉ\int E\rho^2\bar{x} cannot be computed from Eρxˉ\int E\rho\bar{x}, and no amount of colorimetric data about a surface tells anybody what that surface looks like in a corner of itself.

What a room actually solves

The transport model used throughout this field is radiosity, and it is chosen because it is the simplest one in which interreflection is not a special case.

Every surface is taken to be an ideal Lambertian diffuser, meaning the light leaving it has the same radiance in every direction. That is a real restriction and it is stated in every essay here that uses the machinery: nothing in this model can produce a mirror, a caustic, or a highlight that moves when the reader does. The one part of a real surface that behaves differently gets its own essay, and it has to be bolted on afterwards rather than solved for.

What the restriction buys is that the whole scene collapses to one linear system per wavelength:

Bi(λ)=Ei(λ)+ρi(λ)jFijBj(λ)B_i(\lambda) = E_i(\lambda) + \rho_i(\lambda) \sum_j F_{ij} B_j(\lambda)

BiB_i is the radiosity leaving surface ii — everything it sends away, whether it emitted it or merely returned it. EiE_i is what the lamp puts on it directly. FijF_{ij} is the form factor: the fraction of everything leaving surface ii that arrives at surface jj, a number that depends on the geometry and on nothing else. Where those numbers come from, and how they are checked, is the next rung.

On this site’s grid of 81 bands that is 81 solves of a six-by-six system, which is nothing. The expensive part of a real renderer is finding the form factors, not solving with them.

Why the room is closed

The box is a closed cavity, and that is not a convenience.

A closed cavity satisfies jFij=1\sum_j F_{ij} = 1 for every face: everything leaving a surface arrives somewhere, because there is nowhere else to go. That identity is called closure, and it is the single most useful assertion in the whole library — because a radiosity solve with a face missing does not throw and does not look wrong. It looks like a slightly darker room.

That is the shape of defect this site keeps finding. A figure with no tick labels, a purity calculation that reported every sample as fully saturated, an estimator scored on a scene that violated its own premise — none of them announce themselves, and all of them produce output a reader would accept. Closure is checked here to 10910^{-9} on three differently-shaped boxes, along with reciprocity, AiFij=AjFjiA_i F_{ij} = A_j F_{ji}, which catches a different class of error in the same table.

How much of the light in a room is second-hand

The algebra above matters only in proportion to how much of the light actually took the long way round, and that fraction is larger than most people would guess.

Sum the series. Light enters a closed cavity of uniform reflectance ρ\rho, and what eventually leaves any surface is the direct term plus ρ\rho times it plus ρ2\rho^2 times that, and so on — a geometric series summing to 1/(1ρ)1/(1-\rho). For a room whose surfaces average ρ=0.6\rho = 0.6, which is an ordinary domestic interior with pale walls, that is 2.50: three fifths of the light reaching any surface has bounced at least once. At ρ=0.8\rho = 0.8, a white gallery, the factor is 5.00 and four fifths of it is second-hand. At ρ=0.9\rho = 0.9 it is 10.00.

Those numbers are the reason interior lighting design is not a matter of adding up lamps, and they are the reason the argument on this page is not an edge case. In a white room, the majority of what arrives at a surface has already been multiplied by a reflectance at least once, and a substantial minority has been multiplied twice.

The per-band form of the gain, 1/(1ρ(λ))1/(1-\rho(\lambda)), carries a second point that the scalar version hides. A wall that is very slightly coloured becomes a strongly coloured illuminant once the room has finished bouncing, because the amplification is largest exactly where the reflectance is largest. That deserves its own essay and gets one; what matters here is that it is the same multiplication, applied enough times to become visible.

A room, solved

Putting the pieces together gives the picture the field is named for.

Two things in that figure are worth stopping on, and both are asserted by the generator rather than left to the eye.

Five of the six faces emit nothing at all. Their colour is entirely a product of other surfaces’ reflectances, which is to say that in a room with one lamp, most of what is visible is visible only by interreflection. Removing the transport term does not dim those faces — it makes them black.

The emitting face is brighter than its own emission. The ceiling in that figure radiates more than the lamp puts into it, because the room hands light back to it. That is not energy appearing from nowhere; it is the same photons crossing the ceiling twice, and it is the geometric series again seen from the source’s end.

What was computed, and how

The figures on this page are the output of lib/scene.js, and three quantities in them are worth pinning down.

The form factors are computed twice. The closed forms for parallel and perpendicular rectangles are evaluated, and the double area integral

Fij=1Aicosθicosθjπr2dAjdAiF_{ij} = \frac{1}{A_i}\iint \frac{\cos\theta_i \cos\theta_j}{\pi r^2}\,\mathrm{d}A_j\,\mathrm{d}A_i

is also integrated numerically, and the two are required to agree. Two independent derivations disagreeing beats one number against a table — the habit that caught a 1% chroma error in this site’s appearance model when every structural check had passed.

The chromaticity walk in the hero figure is asserted, not observed. The generator computes the distance from the D65 white point at each bounce and refuses to draw the figure unless every step is larger than the one before it. A picture that merely looked like the spectrum was narrowing would prove nothing about whether it was.

The reflectance in that figure is a stated rule rather than a measurement. It is a Gaussian band, and the essays here that need a real pigment say so and use one. Nothing on this page is a claim about any particular paint.

The two-routes check on the form factors turned out to carry a finding of its own, and it is the kind that is easy to absorb rather than notice.

Midpoint quadrature on two parallel faces converges at second order: the error falls by four when the sample count doubles. On two faces that share an edge it converges at first order, falling by two. The cause is the shared edge itself. The integrand carries 1/r21/r^2, and on two faces that touch, rr goes to zero along an entire line of the domain; a midpoint rule never samples the singularity and never resolves it either.

That is worth stating rather than absorbing, because the obvious repair does not work. The quadrature costs n4n^4, so reaching one part in a thousand on the perpendicular pair by brute force would need about 700 samples per axis per surface — 2.4×10112.4 \times 10^{11} point pairs, which is not a computation anybody runs. A check that cannot be made accurate is not a check. Raising the tolerance until the quadrature passed would have left this library with a verification unable to distinguish a correct closed form from one 5% wrong, which is precisely the error it exists to catch. Extrapolating from two grids instead costs one extra evaluation and lands within 5×1075 \times 10^{-7} on the parallel pair and 1.4×1041.4 \times 10^{-4} on the perpendicular one.

The order used in that extrapolation is chosen from the geometry — whether the two rectangles touch — rather than fitted from the data. Fitting an order from the same numbers being extrapolated is how a wrong answer acquires a tight-looking error bar.

A fourth bounce is past what most rooms deliver and is worth drawing anyway, because it says whether the sequence converges or keeps going.

A spectrum after 4 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 530 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.461. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 6 The lamp’s spectrum multiplied by a 530 nm reflectance four times over, each swatch drawn at fixed luminance so only the chromaticity moves. Interreflection is elementwise multiplication, so the fourth row carries ρ to the fourth power and the band it leaves is narrower again.

Where the model stops

Three limits, all of them load-bearing later.

Lambertian surfaces have no gloss and no direction. Real interreflection between glossy surfaces concentrates light in particular directions, so a real corner is brighter along some lines of sight than this model can express. What survives is the spectral argument, which is about how many times the light was multiplied and not about where it went.

A room is not six faces. Subdividing the geometry changes every number in the matrix and none of the conclusions, because the conclusions are about the algebra of repeated multiplication rather than about a particular FF. Six faces is the smallest closed scene that is not a special case.

The 380–780 nm range is this site’s, and it truncates. Everything here is computed on that grid, and a real room contains near-infrared that a real wall reflects strongly and a real eye does not see. That is invisible to every figure in this field, and it matters in exactly one place a reader is likely to care about: fluorescence, where energy arrives outside the band and leaves inside it.

A blue surface is the case where the lamp has least power to give, and the same two bounces there make the point about the lamp rather than the paint.

A spectrum after 2 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 470 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.275. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 7 Two bounces off a wider reflectance peaking at 470 nm. The multiplication is the same operation and the result is a different colour, because what survives two bounces is the product of the lamp with a band the lamp barely occupies.

The generalisation

The result generalises past rooms, and past colour.

Anything measured as a linear functional of a distribution is safe under one operation on that distribution and unsafe under repetition of it. That is why a spectrophotometer’s calibration is valid for the sample it measures and not for the sample seen through its own reflection; why a filter stack is not a paint mixture, which is an essay further up this ladder; and why the colour of a room’s shadowed corner cannot be looked up from the colour of its walls.

The habit worth carrying is smaller and more portable. When a summary statistic is linear in some quantity, ask how many times the physical process applies that quantity. If the answer is more than once, the statistic has stopped summarising.

A spectrum after 3 bounces off the same surface. The lamp's spectrum at the top, then the same spectrum multiplied by a reflectance peaking at 610 nm once for each bounce. Interreflection is elementwise multiplication, so light that reaches the eye by the long way round carries ρ raised to the number of surfaces it met. Each row's swatch is drawn at fixed luminance so only the chromaticity changes, and the distance from the D65 white point, printed at the right, rises from 0.000 to 0.314. The spectrum narrows every time, which is why a room painted in one colour is more saturated in its corners than on its walls.
Fig. 8 Three bounces off a narrower band centred in the orange. The narrower the reflectance, the faster the spectrum collapses towards a single wavelength — which is why a room painted in a saturated pigment is dramatically more coloured in its corners than on its flat walls, and a room painted in a broad one barely changes.

Who found it, and when

The algebra is old and the engineering is not.

Radiosity as a transport method arrived in computer graphics in 1984, from Goral, Torrance, Greenberg and Battaile at Cornell, who took it from the thermal-engineering literature where form factors had been tabulated since the 1920s for radiative heat transfer. The colour argument came with it: their paper’s demonstration image is a box with one red wall and one blue one, and the point of the picture is the colour bleeding onto the white surfaces between them.

What took much longer to become standard is doing the solve spectrally. The original work, and most work since, carries three channels — and what that costs is measurable and is not zero.

The colorimetric half is older still. That XX, YY and ZZ are linear functionals is the content of Grassmann’s laws, stated in 1853, and every one of them is a statement about additive mixture. Grassmann was careful about that. The discipline built on top of him has been less careful, and the standard tools — a reflectance measurement, a tolerance, a colour-difference formula — are all quietly premised on the light having been multiplied exactly once.

How fragile the cube’s coincidence is

The form-factor figure notes that a cube’s opposite-face and adjacent-face entries — 0.199825 against 0.200044 — are nearly equal, calls it a coincidence of the cube, and says it disappears the moment the box stops being one. Both halves are checkable from the closed form, and the second is more dramatic than disappears suggests.

The near-equality is a departure of 0.11 per cent. A face of a cube sends light to the face opposite it and to each of the four faces beside it in shares that differ by one part in nine hundred, despite the two geometries having nothing in common: one pair is parallel at a distance, the other perpendicular and touching along an edge. There is no symmetry requiring it; the cube simply happens to distribute a face’s output almost evenly among the five faces that are not it.

Stretching the box breaks it immediately. Taking a square-plan room with unit floor and ceiling and varying only the height:

height F to the opposite face F to each adjacent face ratio
0.50 0.4153 0.1462 0.35
0.75 0.2827 0.1793 0.63
1.00 0.1998 0.2000 1.001
1.25 0.1464 0.2134 1.46
1.50 0.1107 0.2223 2.01
2.00 0.0686 0.2329 3.39

A twenty-five per cent change of height moves the ratio by nearly a half, and doubling the height moves it by a factor of three and a half. The coincidence is not merely special to the cube; it is a single crossing point of a steep curve, and the cube is where the curve passes through one.

That is worth knowing before any reader reasons from the cube’s matrix to a room. An ordinary room is between one and a half and three times as wide as it is tall, so its ceiling sends between two and seven times as much light to each wall as it does to the floor — which is the opposite of the even distribution the cube’s numbers suggest, and it is the reason a room’s floor is lit mostly at second hand.

The second bounce is a majority, not a minority

The cavity-gain section says that at ρ = 0.6 three fifths of the light has bounced at least once and a substantial minority has been multiplied twice. The first figure is exact and the second is worth carrying further, because the fraction multiplied twice is simply ρ², and it grows faster than the fraction multiplied once.

average reflectance gain bounced ≥ 1 bounced ≥ 2
0.4 1.67 40% 16%
0.6 2.50 60% 36%
0.8 5.00 80% 64%
0.9 10.00 90% 81%

At the domestic reflectance a substantial minority is right. In the white gallery at ρ = 0.8 it is a clear majority: sixty-four per cent of what reaches a surface has been multiplied by a reflectance at least twice, and at 0.9 it is four fifths.

That matters because the essay’s whole argument is that the linear functional survives one multiplication and not two. In a pale interior the case the argument is about is not an edge of the distribution — it is most of the light in the room.

What the extrapolation is worth

One last number, because the section on quadrature reports the cost of brute force and the accuracy of the alternative without putting them on one line.

Brute force at 700 samples per axis per surface is 2.4 × 10¹¹ point pairs and buys about one part in a thousand on the perpendicular pair. Two grids and a Richardson extrapolation buy 1.4 × 10⁻⁴seven times better, for a cost that rounds to nothing. On the parallel pair, where the convergence is second order and the extrapolation correspondingly stronger, it buys 5 × 10⁻⁷, two thousand times better than the brute-force target.

The gap between those two, a factor of 280 between the two extrapolated errors, is the shared edge showing through even after the correction. Extrapolation removes the leading term of an error expansion; it cannot remove a singularity the quadrature never sampled. The check is now accurate enough to catch a five per cent error in a closed form, which is what it exists for, and it is still three hundred times worse on the case that touches.

Where the ladder goes next

The rung above takes the algebra above and does the least comfortable thing available with it: applies it to a metameric match, which is an identity between three integrals that are all linear in ρ\rho, and watches a corner break it.

Two other second-rung essays take the same machinery outdoors. A shadow turns out to be lit by a different illuminant from the ground beside it, computed from one scattering law and one radiator. And the highlight on a glossy surface turns out to carry the lamp’s spectrum rather than the paint’s, which is the reason it is the one region of a photograph that says what the light was.

What this makes readable

Essays that name this one as a prerequisite.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the index of named objects makes visible.

What links here

The 8 essays that link to this one and share the most of its objects, of 18 that link here.

The objects this essay names

Each one links to every other essay that touches it.

ChromaticityColour bleedingForm factorIlluminantInterreflectionLambertianRadiosityReflectanceSpectral power distributionStandard observer