30

Color in Real-Time 3D: Albedo, PBR, and Tone Mapping

In a game or a 3D render, the color you paint onto a surface is almost never the color that reaches the screen. A material has a base color - its albedo - but the pixel is that albedo run through light, shading, energy budgets, and a final squeeze from a huge brightness range down to what a monitor can show. Get any step wrong and metal looks like plastic, midtones go muddy, or the sun clips to a flat white disc. This is the interactive guide to color from material to pixel.

Digital · 83 4 Live Demos ~32 min read Real-time 3D
albedo
Material, not pixel
linear
Where light math lives
energy
Diffuse + spec conserved
tone map
HDR down to display
01

The pixel is not the color

In flat design, the color you pick is the color you see. In 3D it is not even close. A surface carries a set of material properties - a base color, how metallic it is, how rough - and a renderer combines those with the lights in the scene to compute the color of every pixel, thousands of times per frame. The same wall is bright where the sun hits, dim in shadow, and tinted by nearby colored light, all from one base color.

Modern real-time rendering does this with physically based rendering (PBR): a set of rules chosen to respect real optics - conserving energy, working in linear light, and modeling metals and dielectrics differently - so materials look consistent under any lighting. And because the internal math produces a huge brightness range, a final tone-mapping step squeezes it down to the display. Understanding these four ideas - albedo, linear light, energy conservation, tone mapping - is understanding color in 3D.

Why PBR won: before it, artists hand-tuned colors to look right under one light and everything broke under another. PBR ties material color to physics, so a material authored once looks plausible in daylight, at night, indoors, or under a sunset - no per-scene repainting.
02

Albedo and the lit pixel

Albedo (or base color) is a material's intrinsic reflectance - the fraction of each color of light it bounces back, with no lighting baked in. It's the color the surface would be under perfectly flat, full white light. The lit pixel is albedo times the light reaching that point, so a single albedo yields a whole range of pixels from bright highlight to near-black shadow. Change the light and watch the same material repaint itself.

Interactive 01 · Albedo vs the lit pixel

One material, many pixels

The flat chip on the left is the material's albedo - its base color, no lighting. The sphere on the right is that same albedo lit: bright toward the light, dark away from it, with a touch of fill. Change the albedo or the light and note that the chip barely moves while the sphere's pixels range across the whole material.

03

Lighting must be linear

Here is the mistake that plagued a generation of renderers. Light in the real world adds and multiplies linearly, but the sRGB values stored in textures and shown on screens are gamma-encoded - deliberately non-linear. Multiply a gamma value by a light level directly and the math is simply wrong: midtones come out too dark, and blends look muddy. The fix is to decode textures to linear light, do all lighting there, then re-encode to sRGB at the very end. Compare the two.

Interactive 02 · Gamma-correct lighting

The same light, wrong and right

Two spheres, the same albedo and the same light. The left is shaded by multiplying the gamma (sRGB) values directly - the old, wrong way; its terminator is too dark and the falloff looks harsh. The right decodes to linear light, shades, then re-encodes - the correct, softer, physically-right gradient. The difference is starkest in the midtones.

04

Energy conservation

A physical surface can't reflect more light than it receives, so a PBR material splits its reflection into diffuse (soft, colored by the albedo) and specular (the shiny highlight) - and the two must add up to no more than what came in. The metalness parameter controls the split: a dielectric (plastic, wood) is mostly diffuse with a weak white highlight; a metal has essentially no diffuse and a strong highlight tinted by its albedo. Slide from plastic to metal.

Interactive 03 · Energy & metalness

Diffuse and specular share one budget

Drag metalness from 0 (dielectric) to 1 (metal), and roughness from glossy to matte. As metalness rises, the diffuse component fades and the specular highlight takes over - and takes on the material's color. The bar shows the energy split; it never exceeds 100%, because a surface can't return more than it gets.

05

Tone mapping HDR to screen

All that linear lighting produces values far above 1.0 - a bright sky, a specular glint, a fireball. But a display maxes out at 1.0. Naively clamping everything brighter to white throws away all highlight detail and turns the sun into a flat disc. Tone mapping instead rolls the highlights off smoothly with a curve - Reinhard, ACES filmic, and others - keeping gradation and color in the brights. Switch the operator on an over-bright sphere.

Interactive 04 · Tone mapping

Squeezing HDR into a display

A sphere lit far into HDR - its highlight peaks well above 1.0. The curve shows how each operator maps scene brightness (x) to display brightness (y). Clamp clips the highlight to a flat white blob; Reinhard and ACES roll it off so the shape and a hint of color survive. Push the exposure to exaggerate the difference.

06

The PBR color pipeline

Color in a modern renderer flows through a fixed sequence, and each stage lives in a specific color space:

1 · Decode textures
Albedo/base-color textures are sRGB; decode them to linear light before any math. Data maps (normal, roughness) stay linear already.
2 · Shade in linear
All lighting - diffuse, specular, shadows, reflections - is computed in linear HDR, where light adds and multiplies correctly.
3 · Conserve energy
Diffuse and specular share one budget; metalness and roughness route the albedo into the right lobe.
4 · Tone map
Compress the HDR result to displayable range with a filmic curve, rolling off highlights instead of clipping.
5 · Encode to display
Apply the sRGB (or HDR) transfer function last, so the final buffer is in the space the monitor expects.
6 · Wide gamut & HDR out
On capable displays, output Rec.2020/PQ instead of sRGB - the same pipeline, a wider, brighter target.
07

Best practices and pitfalls

Author albedo flat & lightless
Base-color textures should have no baked shadows or highlights - just the material's true reflectance. Let the renderer light it.
Keep albedo in sane ranges
Real dielectrics rarely reflect below ~0.03 or above ~0.9. Pure black or pure white albedo breaks energy conservation and looks fake.
Mark sRGB vs data textures
Tag base-color as sRGB (decode it) and normal/roughness/metal as linear data (don't). Mislabeling wrecks either the color or the shading.
Do lighting in linear, always
If midtones look muddy or blends look wrong, you're probably shading in gamma space. Move the math to linear.
Metal or dielectric, not between
Real metalness is basically 0 or 1; intermediate values are for blends (rust, dust), not a "sort of metal" material.
Tone map, don't clamp
Always end HDR with a tone-mapping curve. Clamping flattens highlights and shifts their color; a filmic curve keeps both.
"In 3D, you don't paint the color you want to see - you describe a material honestly and let light do the rest. The discipline is trusting the physics: author the truth, and the pixel takes care of itself." Editorial summary · describe the material, not the pixel
The takeaway: albedo is the material's base reflectance, not the pixel; lighting must run in linear light; diffuse and specular share one energy budget routed by metalness; and a tone-mapping curve squeezes the HDR result onto the display without clipping. Get those four right and a material looks correct under any light.
08

Test your understanding

Six questions on albedo, linear lighting, energy conservation, and tone mapping. Instant feedback, no scores recorded - a wrong answer comes with a short explanation.

Quick check

Loading…
 
Question 1 of 6
09

Continue your journey

Real-time color rests on transfer functions, HDR, tone mapping's cousins in film, and the physics of reflectance - here's where each goes deeper.