What a scene does

Paint is not a filter

Stacking two filters multiplies their transmittances. Stirring two pigments together does not multiply their reflectances, because a mixture is one scattering layer rather than two in series — light meets whichever particle is nearest. Treating the two as the same operation is a 15-unit error, and which way it errs turns out to depend on whether the comparison holds the amount of pigment fixed.

Assumes The room is the illuminant and A bounce is a multiplication.

16 min read 6 figures Computed, not quotedSay which colour

The first rung of this ladder establishes that a bounce is a multiplication, and every essay below it leans on that. It is worth being clear where the multiplication stops being the right model, because it stops sooner than expected — and the place it stops is the most everyday operation in the whole subject.

Mixing two paints is not multiplying two reflectances.

Mixing two paints and stacking two filters are different operations. The same two reflectances combined two ways. Stacking them as filters multiplies the transmittances, which is right for gels in front of a lamp and wrong for pigment stirred into pigment: a stirred mixture is one scattering layer, not two in series, and light meets whichever particle is nearest rather than passing through both. Kubelka–Munk handles it by moving to K/S = (1 − R)²/2R, in which absorption and scattering add by concentration, and inverting afterwards. The two answers differ by ΔE00 = 15.0, and the filter model is the darker of the two because it charges every photon for both pigments.
Fig. 1 The same two reflectances combined two ways. Stacking them as filters multiplies the transmittances; mixing them as pigments requires Kubelka–Munk, in which absorption and scattering add by concentration and reflectance does not. The two answers differ by 15 units of ΔE00, and the filter model gives the darker one.

The claim

Two filters in series multiply. Two pigments stirred together do not, because a mixture is a single scattering layer and light meets whichever particle it happens to encounter first rather than passing through both.

The distinction sounds like a technicality and is worth a figure because it is not: the two models disagree by ΔE00=15.0\Delta E_{00} = 15.0 on an ordinary pair of pigments, which is not a refinement but a different colour.

Why the filter model is wrong

Take two sheets of coloured gel and put one behind the other in front of a lamp. Every photon that gets through has passed through both, so the transmittances multiply: T=T1T2T = T_1 T_2. That is exactly right, and it is the model everybody’s intuition uses for mixing paint, because “subtractive mixture” is taught with filters.

Now stir two pigments together. A photon entering the mixture meets a particle — a blue particle or a yellow particle, whichever is nearest — scatters off it, travels a short distance, meets another particle, and so on until it either leaves the surface or is absorbed. There is no ordering. There is no “through the blue and then through the yellow”. The two pigments are in parallel, not in series.

The filter model charges every photon for both pigments. The reality charges each photon for whichever pigments it happened to meet. So the filter model over-absorbs, and the answer it gives in the figure above is the darker one — which is the direction the reasoning predicts, and which turns out to depend on how the comparison is set up, in a way a later section takes apart.

What Kubelka–Munk does about it

The repair is to find a quantity that is additive over the mixture, work in that, and convert back.

For an opaque scattering layer, the useful quantity is the ratio of the absorption coefficient to the scattering coefficient, K/SK/S, and it is obtained from the reflectance by

KS=(1R)22R\frac{K}{S} = \frac{(1-R)^2}{2R}

The physical content is that KK and SS are properties of the particles, so in a mixture they combine by concentration: a mixture that is half blue pigment has half the blue pigment’s absorption per unit volume. Reflectance is not a property of the particles — it is a property of the whole layer, emerging from the competition between absorption and scattering — so it has no reason to combine by anything.

So the procedure is: convert each pigment’s reflectance to K/SK/S, take the concentration-weighted sum, and invert. The inversion is

R=1+KS(KS)2+2KSR = 1 + \frac{K}{S} - \sqrt{\left(\frac{K}{S}\right)^2 + 2\frac{K}{S}}

and it is exact rather than iterative, which is one of the reasons the theory has survived.

Mixing paints is a linear operation, in the wrong space. That is the sentence worth keeping. The intuition that mixing should be some kind of average is correct; the mistake is assuming the average is taken in reflectance.

The size of the error

Computed on this site’s grid for a blue Gaussian band and a yellow sigmoid, mixed in equal parts under D65 through the CIE 1931 2° observer:

ΔE00=15.0\Delta E_{00} = 15.0

between the Kubelka–Munk mixture and the product of the two reflectances.

For scale, a tolerance for an architectural coating is typically under 1, and 15 is the sort of difference between two named colours in a fan deck. This is not a correction; it is a different answer to the question.

Mixing two paints and stacking two filters are different operations. The same two reflectances combined two ways. Stacking them as filters multiplies the transmittances, which is right for gels in front of a lamp and wrong for pigment stirred into pigment: a stirred mixture is one scattering layer, not two in series, and light meets whichever particle is nearest rather than passing through both. Kubelka–Munk handles it by moving to K/S = (1 − R)²/2R, in which absorption and scattering add by concentration, and inverting afterwards. The two answers differ by ΔE00 = 16.0, and the filter model is the darker of the two because it charges every photon for both pigments.
Fig. 2 A narrower blue and a sharper yellow. The gap between the two models widens as the pigments’ spectra overlap less, because the filter model’s over-absorption is concentrated exactly where one pigment reflects and the other does not.

The dependence on overlap is worth reading off that figure. Where two pigments reflect in the same bands, the models come closer together — there is less for the ordering to matter to. Where they reflect in different bands, the filter model multiplies a high reflectance by a low one and gets nearly nothing, while the real mixture returns light from whichever particle type dominates locally. The less the pigments overlap, the worse the filter model gets, which is the opposite of the intuition that mixing very different colours is the simple case.

What the fifteen units contain

The comparison the figure draws holds two differences at once, and separating them changes the size of the gap and reverses its direction.

The paint mixture is half blue and half yellow. The filter stack is a full thickness of each — the product of the two reflectances, which is what anybody multiplying two numbers computes. So the two sides differ in their combination rule and in how much pigment they contain, and the 14.96 units the default pair gives is both of those together.

Matched for material — each pigment at half concentration on both sides, so the filter answer is the geometric mean of the two reflectances rather than their product — the same pair gives 9.96, and the lightness difference changes sign. At full thickness the filter model is darker by 14.82 in lightness; at a matched dose it is lighter by 8.07, and it is lighter on all sixty-nine pigment pairs swept below.

The reason is the shape of the coordinate. Averaging in K/S is unforgiving near zero, because K/S rises without bound as reflectance falls, so a mixture containing one dark component is pulled hard towards dark. Averaging in reflectance is not. So the rule the essay is defending gives the darker answer at matched dose, and the intuition it is correcting gives the darker answer only because it is quietly using twice the pigment.

Both comparisons are worth having, and they answer different questions. What does somebody get who multiplies two reflectances together? Fifteen units, too dark. What do the two combination rules differ by, on the same amount of material? Ten units, too light. The first is the mistake as it is actually made; only the second isolates the rule from the dose.

The control that is not one

The overlapping pair above is offered as a control — two pigments sharing most of their spectrum, where the two models ought to nearly agree. They do not. Under the figure’s own comparison that pair reads 10.59 ΔE00, which is two thirds of the disagreement on the pair the whole argument is built on.

Swept across sixty-nine pairs — a Gaussian blue slid across the band at three widths, against a fixed yellow — the full-thickness comparison never falls below 7.92 however far the spectra overlap. It cannot: at full thickness the two sides hold different amounts of pigment whatever their spectra do, and that difference alone is worth several units before any question of a combination rule arises.

The matched-dose comparison behaves the way the control was meant to. Its gap runs from 17.25 down to 0.26 across those same sixty-nine pairs, and its rank correlation with the spectral overlap of the two pigments is −0.768, against the full-thickness comparison’s −0.609.

So the claim that the two models converge as the spectra overlap is correct, and it is visible only in the comparison that holds the dose fixed. In the comparison the figures draw, overlap moves the gap by about a factor of two and the floor underneath it belongs to the dose rather than to the rule.

That the control failed to control is the more useful half of this. A control is a case where the effect ought to vanish; a case where it merely shrinks is a second data point wearing a control’s label, and it cannot do a control’s job — which is to say whether the mechanism named is the mechanism acting.

Where the intuition came from

It is worth asking why the filter model is the one everybody carries, because the answer is a teaching artefact rather than a misunderstanding.

Subtractive mixture is almost universally introduced with transparent media — coloured gels, stained glass, food dye in water, the cyan-magenta-yellow inks in a printer. In every one of those the filter model is correct, because the light really does pass through both materials in sequence. So the intuition is not wrong about the cases it was learned on.

Printing is the interesting middle case, and it is why the confusion is so durable. Process inks on paper are semi-transparent layers over a white substrate, and where two inks overlap the light does pass through both in series. So the filter model works reasonably for a halftone overprint and fails for the same two pigments stirred in a pot. The same two colorants obey different combination rules depending on whether they are layered or mixed, and both practices are called subtractive mixture.

Why blue and yellow make green. 7 mixtures between a blue and a yellow pigment, mixed in Kubelka–Munk — K/S summed by concentration and inverted back to reflectance — and plotted against the straight line joining the two endpoints. The path bows towards green by 0.099 in chromaticity, and the reason is in the spectra rather than in the eye: the blue reflects below about 520 nm and the yellow above about 500, so the only band both return is the overlap between them. Mixing lights adds spectra and lands on the chord; mixing pigments intersects them and does not.
Fig. 3 Seven mixtures between a blue and a yellow pigment, mixed in Kubelka–Munk, against the straight line joining the endpoints. A mixture of two lights lands on that chord; a mixture of two pigments does not, and the direction it departs in is the subject of the next essay along.

The third case is additive mixture, where the two lights are simply summed. That one lands on the straight line between the endpoints in chromaticity, which is Grassmann’s laws and is exactly why the chromaticity diagram is useful: a line segment on it means something. Neither subtractive case does, and a great deal of confusion about colour mixing comes from applying a diagram whose whole geometry encodes additivity to an operation that is not additive.

What was computed, and how

Both models are implemented properly. mixAsFilters is not a strawman: it raises each reflectance to its concentration and multiplies, which is the correct generalisation of stacking filters to fractional thicknesses. The comparison would prove nothing if the wrong model were implemented badly.

The pigment spectra are stated rules, not measurements. A Gaussian band and a sigmoid, with parameters named in every caption. Real pigment reflectances are measurements and this site quotes measurements where it uses them; nothing here is a claim about a particular manufacturer’s blue.

K/SK/S is clamped away from 0 and 1. The function has a pole at R=0R = 0 and a zero at R=1R = 1, and a reflectance of exactly either is outside the theory’s domain rather than a value it handles. The clamp is at 10410^{-4}, and it is a numerical guard rather than a modelling choice — a real pigment does not reach either bound.

The assertion is that the two models disagree by more than a rounding. The generator refuses to draw unless the gap exceeds 3 units, because a figure showing two indistinguishable swatches under a caption claiming they differ would be worse than no figure.

What the theory assumes, and what it costs

Kubelka–Munk is a two-flux approximation. Light is treated as two diffuse streams, one going down and one coming up, and everything about direction beyond that is discarded. The assumptions are:

  • The layer is optically thick — opaque, so no light reaches the substrate. There is a thicker theory for translucent layers and it is considerably more work.
  • The illumination is diffuse. A collimated beam violates this, which is one reason an instrument’s measuring geometry changes what it reports.
  • No surface reflection. The interface term — the highlight, which carries the lamp rather than the paint — is not in the model, and in practice a Saunderson correction is bolted on to account for it.
  • Scattering is isotropic and the particles do not interact. Real pigment particles scatter forwards preferentially and at high concentration they crowd each other, so KK and SS stop being strictly proportional to concentration.

That last one is where practitioners actually spend their time. Industrial colour matching uses K/SK/S with measured, concentration-dependent coefficients per pigment, fitted from a ladder of known mixtures, precisely because the linear-in-concentration assumption fails at the accuracy a paint shop needs.

The reason it fails is worth a sentence, because it is the same shape as the failure at the top of this page. At low concentration a particle scatters into a medium that is essentially clear, so its contribution is proportional to how many particles there are. At high concentration a particle is scattering into a medium already full of scatterers, and light that would have travelled a long way between events now travels a short one — so the second particle’s contribution is not the same as the first’s. The interaction between particles is a second-order term, and the linear model is the first-order truncation of it. A filter model, by comparison, is not a truncation of anything; it is a different topology.

Why blue and yellow make green. 9 mixtures between a blue and a yellow pigment, mixed in Kubelka–Munk — K/S summed by concentration and inverted back to reflectance — and plotted against the straight line joining the two endpoints. The path bows towards green by 0.099 in chromaticity, and the reason is in the spectra rather than in the eye: the blue reflects below about 520 nm and the yellow above about 500, so the only band both return is the overlap between them. Mixing lights adds spectra and lands on the chord; mixing pigments intersects them and does not.
Fig. 4 Nine steps rather than seven. The path’s shape is a property of the two spectra and of the mixing law, not of how finely it is sampled — which is the check worth making on any curve claimed to be a trajectory rather than an interpolation.

So the honest position is that Kubelka–Munk is not the right answer either. It is a much better wrong answer than the filter model, it gets the structure right where the filter model gets it backwards, and the residual error is calibrated away with measurements rather than derived.

What the pictures cannot show

A swatch is a converged, opaque, diffusely-lit layer and a real brushstroke is none of those. Wet paint, a thin scrub, a glaze over a ground and an impasto ridge all give different colours from the same tube, and every one of those differences is outside the model. The figures show the idealised opaque limit, which is the case the theory covers.

Some mixtures are outside the display’s gamut and are hatched rather than clipped. That happens most at the ends of the mixing ladder, where the pigments are most saturated — so the display fails hardest exactly where the argument is clearest. Marking rather than approximating is this site’s second figure rule, and a hatched patch is an honest report rather than a broken one.

Nothing here is a claim about how a mixture looks against its neighbours. These are colorimetric quantities. A mixed grey surrounded by its two parent colours will not look like the same grey on its own, which is simultaneous contrast and belongs to another field on this site.

Where the model stops

Opaque only. A thin or translucent layer needs the substrate, and then the colour depends on how much material is present — which is a matter of path length and gets its own essay.

No fluorescence. A fluorescent pigment moves energy between wavelengths, and K/SK/S has no mechanism for that. Since this site’s band truncates the usual excitation region, the numbers here would be a floor even if the theory allowed it.

No structural colour. A pigment absorbs; an iridescent flake interferes. Nothing in K/SK/S can produce a reflectance that depends on viewing angle, and that difference is the cleanest separation between the two kinds of colour there is.

Two components. The arithmetic extends to any number, and the concentration-dependence problems get worse with each one, which is why industrial recipes for three or four pigments are fitted rather than computed. It is also why a recipe is not portable between batches of nominally the same pigment.

And the observer is the 1931 2° set. Every ΔE\Delta E on this page is computed against it, and a surface-colour laboratory is required to use the ten-degree functions instead. The disagreement between the two mixing models is a difference between two spectra and survives the change; its size in ΔE00\Delta E_{00} does not.

Mixing two paints and stacking two filters are different operations. The same two reflectances combined two ways. Stacking them as filters multiplies the transmittances, which is right for gels in front of a lamp and wrong for pigment stirred into pigment: a stirred mixture is one scattering layer, not two in series, and light meets whichever particle is nearest rather than passing through both. Kubelka–Munk handles it by moving to K/S = (1 − R)²/2R, in which absorption and scattering add by concentration, and inverting afterwards. The two answers differ by ΔE00 = 10.6, and the filter model is the darker of the two because it charges every photon for both pigments.
Fig. 5 Two pigments whose reflectances overlap heavily. The gap narrows to 10.6 ΔE00 from the 15.0 of the pair above, so the overlap is doing what the claim says — and it does not close, because this comparison holds a full thickness of each pigment against a half-and-half mixture and never compares the same amount of material.

The generalisation

The transferable idea is about identifying the additive coordinate.

When a quantity does not combine, the question is not how to combine it but which quantity does. K/SK/S exists because somebody asked what the particles own rather than what the layer exhibits. Reflectance is exhibited; absorption and scattering are owned. The same move recurs everywhere — resistances add in series and conductances in parallel, and neither is “the right” quantity; probabilities do not add and log-odds do; rates do not average and reciprocals of rates do.

The tell that a coordinate change is needed is a combination rule that comes out asymmetric or bounded in the wrong way. Reflectance is bounded in [0,1][0,1] and a mixture of two mid reflectances has to stay inside it, which no linear rule in reflectance can guarantee for arbitrary concentrations. K/SK/S is unbounded above, which is exactly what an additive coordinate on a bounded quantity has to be.

Who found it, and when

Kubelka and Munk published in 1931 — the same year as the colour-matching functions this site computes everything against, which is a coincidence but a useful one for dating the state of the field. Their paper is a two-flux solution to the radiative transfer problem in a scattering, absorbing layer, and the (1R)2/2R(1-R)^2/2R expression is the opaque limit of it.

The theory arrived in an industry that already had empirical recipes and no way to compute one. Its practical consequence was computer colour matching, which became feasible in the 1960s once the arithmetic could be done at scale, and which is now how essentially every industrial paint, ink, plastic and textile shade is formulated. That is an unusually direct line from a piece of transport theory to a manufacturing practice.

Saunderson’s correction for the surface reflection came in 1942, and it is the standard reminder that the theory’s own boundary conditions were the first thing that had to be repaired. Neither Kubelka–Munk nor the correction addresses the concentration-dependence, which remains fitted.

There is a longer history behind the two-flux idea itself. Schuster used it for stellar atmospheres in 1905, and the mathematics of a scattering, absorbing slab with two opposed diffuse streams is the same problem whether the slab is a layer of paint or the photosphere of a star. Kubelka and Munk’s contribution was the opaque-limit algebra and, more importantly, the observation that it gave the paint industry a computable mixing law. The transport theory was available for a quarter of a century before anybody used it to formulate a shade — which is the recurring pattern on this site, that the mathematics usually precedes the practice by decades and arrives in it only when somebody needs a prediction rather than a description.

Where the ladder goes next

The neighbour on this rung takes the machinery to the question everybody actually asks about pigment mixture, and finds that the familiar answer is right for a reason that has nothing to do with the eye: why blue and yellow make green, computed, with the mixing path drawn against the straight line it does not follow.

Above this rung, the hard physical bound: no surface can be more colourful than an optimal colour, whatever pigment chemistry produces — a boundary that no formulation will ever move.

What the interface does to a reflectance, and the straight line it is taken for. The Saunderson relation between the reflectance inside a pigment layer and the reflectance an instrument reads off it, for a boundary of refractive index 1.50. The curve is the real map; the dashed line joins its two endpoints, which is the straight relation an additive pedestal assumes. They are 0.216 of a reflectance unit apart at their widest, which is 5 times the pedestal itself. The curvature comes from the k₂ term — light reflected back down into the layer from underneath the boundary — which is 0.60 where the outward reflection is 0.04.
Fig. 6 The variable the mixture ought to be computed in, and the map between it and the one an instrument reports. It is a Möbius function rather than the constant offset a pedestal model assumes.

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.

AbsorptionChromaticityColour managementΔEKubelka munkPigmentReflectanceScatteringStandard observerSubtractive mixture