PBR models how light actually interacts with surfaces, so materials look right under any lighting. Learn the metallic-roughness workflow, energy conservation, and why PBR replaced ad-hoc shading.
Classic Phong shading required artists to hand-tune material parameters per scene, and surfaces looked wrong when the lighting changed. Physically-based rendering instead models the real physics of light reflecting off microscopic surface detail, using parameters with physical meaning. The payoff: a material authored once looks correct under sunlight, torchlight, or a dark room — consistency that is why PBR became the industry standard.
Old way (Phong): tweak "specular color" + "shininess" by hand per scene.
-> materials look right in one lighting setup, WRONG when lighting changes.
PBR (physically-based rendering): model the actual physics of light hitting a
surface's microscopic roughness. Parameters are PHYSICAL + intuitive:
base color, metallic, roughness.
-> author a material ONCE; it looks correct under ANY lighting (sun, torch,
overcast). Consistency across scenes is why PBR replaced ad-hoc shading.
Every modern engine (Unreal/Unity/Godot) uses it.The common PBR parameterization uses three inputs: base color, metallic (is it metal or not), and roughness (how polished the surface is). Metals tint their reflections and have no diffuse color; non-metals have diffuse color and white-ish reflections. Roughness spreads or tightens those reflections. These few intuitive knobs describe an enormous range of real materials.
Metallic-roughness PBR — three main inputs:
BASE COLOR the albedo. For metals it tints the REFLECTION;
for non-metals it's the DIFFUSE color.
METALLIC 0 = dielectric (plastic, wood, skin): has diffuse + dim reflections
1 = metal: no diffuse, colored reflections
ROUGHNESS 0 = mirror-smooth (sharp reflections)
1 = fully rough (blurry, matte reflections)
Examples:
gold = base gold, metallic 1, roughness 0.2
rubber = base black, metallic 0, roughness 0.9
wet stone = base gray, metallic 0, roughness 0.1PBR obeys energy conservation: a surface cannot reflect more light than it receives, so as reflections get sharper they also get brighter and narrower, and as they spread out they dim — the total stays bounded. The math that distributes reflected light by direction is the BRDF (the Cook-Torrance model in most engines). You do not usually write it by hand, but its principles explain why PBR materials always look balanced.
Energy conservation: a surface reflects at most the light it RECEIVES.
-> as a highlight gets sharper (low roughness) it gets brighter + smaller;
as it spreads (high roughness) it gets dimmer + wider. Total is conserved.
This is why PBR never looks "too bright" the way tweaked Phong could.
The BRDF (Bidirectional Reflectance Distribution Function) decides how much
light reflects toward the eye for given in/out directions. Games use the
Cook-Torrance microfacet BRDF: a distribution (roughness) + geometry +
Fresnel (reflections strengthen at grazing angles) term. The engine
implements it; you supply base color / metallic / roughness.For reflections to look right, a surface must reflect its surroundings, not just direct lights. Image-based lighting (IBL) uses an environment map (a captured 360° image of the scene) as a light source, so a metal ball reflects the sky and room. Combined with the metallic-roughness inputs, IBL is what gives PBR materials their grounded, real look in an actual environment.
Direct lights aren't enough — real surfaces reflect their SURROUNDINGS.
Image-Based Lighting (IBL):
capture the environment as a 360° map (a cubemap / HDRI of the sky + scene),
and use it as a light source:
- a smooth metal samples a sharp reflection of the environment
- a rough surface samples a BLURRED version (pre-filtered by roughness)
- non-metals pick up ambient color from it (an irradiance map)
IBL + metallic/roughness = materials that look grounded in a real place.
This is why a chrome sphere in a modern engine reflects the actual sky.