Spectral Kubelka–Munk mixing of real paints — Golden Matte Fluid and Heavy Body acrylics, or the IFAC-CNR classical oils — compared against Mixbox and naive RGB interpolation. Every set carries genuine two-constant K/S (a real per-pigment scattering coefficient), so yellow + blue stays a saturated green rather than muddying to grey. D65.
Mixbox interpolates the endpoint display colors through a pigment-latent space; the spectral row mixes the actual measured spectra. Where they agree, our physics matches a shipping reference. Where they differ, one of us is extrapolating — see the curves below. The x axis uses the same logistic scale as the ratio slider (fine near the ends), so each column lines up with the slider position above.
Two dimensions at once: left→right sweeps the A : B ratio on the same logistic scale as the slider; top→bottom thins the film from full hiding down to a bare scumble, over a white card and over a black card. The vertical line marks the current slider ratio. The top row equals the Spectral KM sweep above; the bottom edge is the card itself.
| nm | A | B | mix |
|---|
Top half over white, bottom over black. Where the two halves converge, the paint has reached hiding thickness — finite-thickness Kubelka–Munk, the same math the canvas renderer will use.