color scienceKubelka-Munkpigment simulationcolor mixing

Understanding the Kubelka-Munk Color Model

HB
Hue Blender
·5 min read

The Problem with Simple RGB Mixing

If you've ever tried to predict paint mixing results using a simple digital color picker, you've probably noticed that the results are often wrong. Mix a digital red with a digital blue, and you get a bright magenta on screen — but in real life, you get purple. Mix digital yellow and blue, and you get an odd color instead of the vibrant green you'd get on a canvas.

The reason is fundamental: RGB averaging doesn't model pigment physics. It's the wrong mathematical model for physical paint mixing. To accurately predict what happens when two paint colors combine, you need a model that accounts for how pigments actually interact with light — and that's where the Kubelka-Munk theory comes in.

What Is the Kubelka-Munk Theory?

Developed by Paul Kubelka and Franz Munk in 1931, the Kubelka-Munk (KM) model is a two-flux optical theory that describes how light travels through a paint layer on a substrate. It accounts for two fundamental properties of every pigment:

  • Absorption (K): How much light the pigment absorbs at each wavelength across the visible spectrum.
  • Scattering (S): How much light the pigment scatters (diffuses) within the paint layer.

Unlike the simple model that treats "red paint" as a single RGB value, the Kubelka-Munk model treats each pigment as a spectral object — describing how it behaves across the full range of visible wavelengths (roughly 380–720 nm, sampled at regular intervals).

How Pigment Mixing Works Under Kubelka-Munk

When two pigments are physically mixed in a paint medium, their K and S values combine additively, weighted by their concentration in the mixture:

  • Kmix(λ) = c₁ × K₁(λ) + c₂ × K₂(λ)
  • Smix(λ) = c₁ × S₁(λ) + c₂ × S₂(λ)

Where c₁ and c₂ are the concentrations (proportions) of each pigment, and λ represents each wavelength. The resulting K/S ratio at each wavelength is then used to calculate the reflectance of the mixed paint — how much light it reflects back at each wavelength across the spectrum.

This full spectral reflectance curve is then converted to XYZ tristimulus values (the standard colorimetric representation of how the human eye perceives color) and finally to the HEX, RGB, or CMYK values we display in the tool.

Why This Matters for Real-World Accuracy

The difference between KM-based mixing and simple RGB averaging is not trivial. Consider mixing yellow and blue:

  • Simple RGB average: Yellow (#FFFF00) and Blue (#0000FF) average to a murky gray-green (#808080 range).
  • Kubelka-Munk model: Yellow pigment absorbs blue light; blue pigment absorbs red and some green light. Together, they reflect mainly green wavelengths — producing a vivid green, just as real paint does.

This is the core insight: pigment mixing is about what wavelengths are absorbed, not about averaging color values. The KM model captures this correctly; simple RGB blending does not.

The Role of Spectral Data

For the Kubelka-Munk model to work, you need accurate spectral K and S data for each pigment. This data is typically obtained by measuring paint samples with a spectrophotometer — a device that measures reflectance at dozens of wavelength intervals across the visible spectrum.

Professional paint manufacturers (like those producing artist-grade oil or acrylic paints) often have this data for their pigments. For a digital tool like ours, we use approximated spectral curves derived from well-characterized pigment families:

  • Cadmium-type pigments (warm yellows and oranges)
  • Phthalocyanine pigments (vivid blues and greens)
  • Quinacridone pigments (vivid magentas and reds)
  • Iron oxide pigments (earth tones: ochres, siennas, umbers)
  • Titanium white and carbon black (the extremes of the lightness scale)

Limitations of the Model

No model is perfect, and KM is no exception:

  • Assumes optically thin, homogeneous layers: The model works best for well-mixed, uniform paint films. Thick impasto, transparent glazes, and metallic or interference pigments require more complex models.
  • Doesn't capture fluorescence: Fluorescent pigments emit light at different wavelengths than they absorb, which KM cannot model.
  • Requires accurate spectral input data: The quality of the output depends entirely on the quality of the K and S data. Poor input data leads to poor predictions.
  • Two-flux approximation: Real light scattering is three-dimensional, but KM simplifies this to two directions (forward and backward). More accurate multi-flux models exist but are computationally intensive.

Kubelka-Munk vs. Spectral Rendering

Modern computer graphics research has extended pigment simulation further with full spectral rendering — simulating light transport across the entire visible spectrum rather than just tracking RGB channels. Some advanced digital painting applications use these techniques to achieve even more accurate results.

However, for the purpose of predicting practical paint mixing outcomes, the Kubelka-Munk model offers an excellent balance between accuracy and computational simplicity — which is why it remains the industry standard for paint formulation software used by paint manufacturers worldwide.

How Our Tool Implements It

Our color mixer uses a KM-based pigment simulation to model what happens when you select two or more colors to mix. Here's the process:

  1. Each input color is mapped to an approximate spectral reflectance curve based on its RGB values and pigment characteristics.
  2. The KM mixing equations are applied across the full spectral range, weighted by the mixing ratio you select.
  3. The resulting spectral reflectance is converted to CIE XYZ values using standard illuminant D65 (daylight).
  4. XYZ is converted to sRGB, then to HEX, HSL, CMYK, and finally matched against Pantone and RAL reference databases.

The result is a color prediction that is significantly closer to physical reality than simple RGB blending — not perfect, because no model is, but meaningfully more useful when you want to predict what will actually happen on your palette.

Practical Implications for Artists

Understanding that our tool uses pigment simulation rather than RGB averaging helps you interpret its results correctly:

  • The result will look more like what you'd get on a real palette — not what a photo editing app would produce by averaging colors.
  • The mixing ratio matters: changing from 50/50 to 70/30 will shift the result toward the dominant color, just as in real paint.
  • For the most accurate predictions, try to use pigments that correspond to well-characterized pigment families — not every household paint has the same spectral characteristics as artist-grade pigments.

We encourage you to try the color mixer and compare its output to your real-world mixing results. The closer the match between what you see digitally and what appears on your palette, the more confidence you can have in planning your color mixing in advance.

Try it yourself

Mix any colors with our Kubelka-Munk pigment simulation tool and get instant HEX, RGB, CMYK codes.

Open Mixer

Related Articles