Overview
Cook Torrance is a major step up from Blinn/Phong. It uses a microfacet model: the surface is modeled as countless micro-facets of varying size, and the shader computes how light reflects off those facets based on:
- D - distribution of the micro-facets (Beckmann).
- G - geometric attenuation (mutual shadowing).
- F - Fresnel equation (angular reflectivity).
Result: a physically correct render of metals, rough surfaces, and anything with strong Fresnel behavior (more reflection at grazing angles).
Where to find this node
- Effects Library:
Tools > 3D > Material > Cook Torrance - Quick add: right-click in the Node Editor →
Add Tool > 3D > Material > Cook Torrance
Inputs (6 material inputs)
- Diffuse Color (orange) - base color and texture. For a pure metal: set it very dark (black or nearly) because metals barely diffuse light.
- Specular Color (green) - highlight color. This is where the metal's tint is set: gold (RGB 1.0, 0.86, 0.57), copper, aluminum, etc.
- Specular Intensity (magenta) - highlight intensity map.
- Specular Roughness (white) - roughness map. Textures that vary per area to simulate local wear.
- Specular Refractive Index (white) - map controlling Fresnel.
- Bump Map (white) - 3D material for apparent relief.
Setup
Cook Torrance → Shape 3D (MaterialInput) → Merge 3D ← Camera, Lights → Renderer 3D
For a convincing metal, you also need an environment map reflecting on it - add it with a Reflect node in combination.
Diffuse section
For a pure metal: a very dark (black) Diffuse Color - metals diffuse almost no light, everything goes through the specular.
For a rough non-metallic surface (dirt, rock): a normal Diffuse Color + high Roughness + moderate Specular Intensity.
Specular section
- Specular Color
- Color of the highlight. PBR rule:
- Metal → tinted Specular Color (gold, copper, silver, iron…).
- Non-metal → gray/white Specular Color (neutral reflectance, always ≈ 0.04 in PBR).
- Specular Intensity
- Strength of the highlight. Combine it with Roughness for the final look.
- Roughness (0.0 - 1.0+)
- Roughness of the surface. According to the docs: "the higher the value, the wider the falloff, and the more brushed / metallic the surface looks".
- 0.05 - mirror surface (polished chrome).
- 0.2 - standard polished metal.
- 0.5 - brushed metal, wide highlight.
- 0.8+ - very rough, barely visible highlight.
Do Fresnel & Refractive Index
Do Fresnel is the essential checkbox that enables the physically correct behavior of a reflection: the more the surface is seen at an angle, the more it reflects.
- Without Fresnel - the reflection has a constant intensity across the whole surface. "Metallic" but not very realistic.
- With Fresnel - strong reflection at grazing angles, weak head-on. The real behavior of metal or glass.
Refractive Index sets the strength of the Fresnel:
- 1.0 - no Fresnel (vacuum / air).
- 1.5 - standard glass.
- 1.33 - water.
- 2.4 - diamond.
- 10+ - metal (high values to simulate the strong reflectivity of metal).
Rule: enable Do Fresnel as soon as you want realism. Without it, your metals will look like "plastic painted to look like metal".
Cook Torrance vs Blinn: when to use which
- Blinn
- Fast, non-physical model. Perfect for plastic, paint, simple materials. Less control but lightweight to compute.
- Cook Torrance (this node)
- Physically based PBR model. Required for believable metals, brushed metal, and any material with a strong Fresnel. Slower but much more realistic.
Rule: Blinn for matte and plastic surfaces, Cook Torrance for metals, glossy ceramics, and anything that needs Fresnel.
Use cases
- Polished gold - nearly black Diffuse, Specular Color (R 1.0, G 0.86, B 0.57), Roughness 0.15, Do Fresnel on, Refractive Index 10+.
- Mirror chrome - black Diffuse, white Specular Color, Roughness 0.05, Fresnel on. Reflections through a
Reflectnode or an environment map are a must. - Brushed aluminum - dark Diffuse, Specular Color (0.91, 0.92, 0.92), Roughness 0.5-0.6, Fresnel on.
- Colored glossy ceramic - bright Diffuse color, white Specular Color, Roughness 0.1, moderate Specular Intensity, Fresnel on (IOR 1.5).
- Local wear - a variable roughness texture connected to Specular Roughness (smooth parts in frequent-contact areas, rough elsewhere).
- PBR pipeline from Substance / Blender - import the Base Color, Roughness and Metallic maps and connect them to the matching inputs.
Tips
- Black Diffuse for pure metal - a classic mistake: leaving Diffuse gray. A metal has almost no diffuse; all the color is in the Specular Color.
- Do Fresnel always on for photorealism. Never compromise on that.
- Textured Roughness to break uniformity - even a subtle variation in roughness instantly makes the material more believable.
- Environment map required - without environment reflections, a metal looks dull (just point highlights from the lights). Combine with
Reflect+CubeMap. - Slower than Blinn - for background or barely visible objects, Blinn is enough. Cook Torrance for hero objects.
- PBR metallic workflow - to match a Substance/Blender render exactly, the maps must be in linear color space (not sRGB). Use a
Gamutnode before if needed.
