The Cook Torrance node is a basic illumination material that can be applied to geometry in the 3D scene. The diffuse calculation for this node is similar to that used in the basic material and the Blinn node, but the specular highlights are evaluated using an optimized Fresnel/Beckmann equation. This illumination model is primarily used for shading metal or other shiny and highly reflective surfaces.
The Cook Torrance node outputs a 3D Material that can be connected to the material inputs on any 3D geometry node.
Cook Torrance Node Inputs
There are six inputs on the Cook Torrance node that accept 2D images or 3D materials. These inputs control the overall color and image used for the 3D object as well as controlling the color and texture used in the specular highlight. Each of these inputs multiplies the pixels in the texture map by the equivalently named parameters in the node itself. This provides an effective method for scaling parts of the material.
- Diffuse Color Material: The orange Diffuse Color material input accepts a 2D image or a 3D material to be used as overall color and texture of the object.
- Specular Color Material: The green Specular Color material input accepts a 2D image or a 3D material to be used as the color and texture of the specular highlight.
- Specular Intensity Material: The magenta Specular Intensity material input accepts a 2D image or a 3D material to alter the intensity of the specular highlight. When the input is a 2D image, the Alpha channel is used to create the map, while the color channels are discarded.
- Specular Roughness Material: The white Specular Roughness material input accepts a 2D image or a 3D material to be used as a map for modifying the roughness of the specular highlight. The Alpha of the texture map is multiplied by the value of the roughness control.
- Specular Refractive Index Material: The white Specular Refractive Index material input accepts a 2D image or a 3D material, using the RGB channels as the refraction texture.
- Bump Map Material: The white Bump Map material input accepts only a 3D material. Typically, you connect the texture into a Bump Map node, and then connect the Bump Map node to this input. This input uses the RGB information as texture-space normals.
Each of these inputs multiplies the pixels in the texture map by the equivalently named parameters in the node itself. This provides an effective method for scaling parts of the material.
When nodes have as many inputs as this one does, it is often difficult to make connections with any precision. Hold down the Option (macOS) or Alt (Windows) key while dragging the output from another node over the node tile, and keep holding Option or Alt when releasing the left mouse button. A small drop-down menu listing all the inputs provided by the node appears. Click on the desired input to complete the connection.
Cook Torrance Node Setup
The output of a Cook Torrance node output is connected to the material input on a 3D scene or 3D geometry node to which you want the shader applied. The Cook Torrance inputs can use images as the diffuse color material (yellow) and specular color material (green). This can result in a smooth, shiny material.
Cook Torrance Node Controls Tab
The Controls tab contains parameters for adjusting the main color, highlight, and lighting properties of the Cook Torrance shader node.
Diffuse describes the base surface characteristics without any additional effects like reflections or specular highlights. Besides defining the base color of an object, the diffuse color also defines the transparency of the object. The Alpha in a diffuse texture map can be used to make portions of the surface transparent.
- Diffuse Color
A material’s Diffuse Color describes the base color presented by the material when it is lit indirectly or by ambient light. If a diffuse texture map is provided, then the color value provided here is multiplied by the color values in the texture.
This slider sets the material’s Alpha channel value. This affects diffuse and specular colors equally, and affects the Alpha value of the material in the rendered output. If a diffuse texture map is provided, then the Alpha value set here is multiplied by the Alpha values in the texture map.
Reducing the material’s Opacity decreases the color and Alpha values of the specular and diffuse colors equally, making the material transparent.
The parameters in the Specular section describe the look of the specular highlight of the surface. These values are evaluated in a different way for each illumination model.
- Specular Color
Specular Color determines the color of light that reflects from a shiny surface. The more specular a material is, the glossier it appears. Surfaces like plastics and glass tend to have white specular highlights, whereas metallic surfaces like gold have specular highlights that inherit their color from the material color. If a specular texture map is provided, then the value provided here is multiplied by the color values from the texture.
- Specular Intensity
Specular Intensity controls how strong the specular highlight is. If the specular intensity texture is provided, then this value is multiplied by the Alpha value of the texture.
The Roughness of the specular highlight describes diffusion of the specular highlight over the surface. The greater the value, the wider the falloff, and the more brushed and metallic the surface appears. If the roughness texture map is provided, then this value is multiplied by the Alpha value from the texture.
- Do Fresnel
Selecting this checkbox adds Fresnel calculations to the materials illumination model. This provides more realistic-looking metal surfaces by taking into account the refractiveness of the material.
- Refractive Index
This slider appears when the Do Fresnel checkbox is selected. The Refractive Index applies only to the calculations for the highlight; it does not perform actual refraction of light through transparent surfaces. If the refractive index texture map is provided, then this value is multiplied by the Alpha value of the input.
Transmittance controls the way light passes through a material. For example, a solid blue sphere casts a black shadow, but one made of translucent blue plastic would cast a much lower density blue shadow.
There is a separate Opacity option. Opacity determines how transparent the actual surface is when it is rendered. Fusion allows adjusting both opacity and transmittance separately. At first, this might be a bit counterintuitive to those who are unfamiliar with 3D software. It is possible to have a surface that is fully opaque but transmits 100% of the light arriving upon it, effectively making it a luminous/ emissive surface.
Attenuation determines how much color is passed through the object. For an object to have transmissive shadows, set the attenuation to (1, 1, 1), which means 100% of green, blue, and red light passes through the object. Setting this color to RGB (1, 0, 0) means that the material transmits 100% of the red arriving at the surface but none of the green or blue light. This can be used to create “stained glass”-styled shadows.
- Alpha Detail
When the Alpha Detail slider is set to 0, the Alpha channel of the object is ignored and the entire object casts a shadow. If it is set to 1, the Alpha channel determines what portions of the object cast a shadow.
- Color Detail
The Color Detail slider modulates light passing through the surface by the diffuse color + texture colors. Use this to throw a shadow that contains color details of the texture applied to the object. Increasing the slider from 0 to 1 brings in more diffuse color + texture color into the shadow. Note that the Alpha and opacity of the object are ignored when transmitting color, allowing an object with a solid Alpha to still transmit its color to the shadow.
The Saturation slider controls the saturation of the color component transmitted to the shadow. Setting this to 0.0 results in monochrome shadows.
- Receives Lighting/Shadows
These checkboxes control whether the material is affected by lighting and shadows in the scene. If turned off, the object is always fully lit and/or unshadowed.
- Two-Sided Lighting
This effectively makes the surface two sided by adding a second set of normals facing the opposite direction on the backside of the surface. This is normally off to increase rendering speed, but it can be turned on for 2D surfaces or for objects that are not fully enclosed, to allow the reverse or interior surfaces to be visible as well.
Normally, in a 3D application, only the front face of a surface is visible and the back face is culled, so that if a camera were to revolve around a plane in a 3D application, when it reached the backside, the plane would become invisible. Making a plane two sided in a 3D application is equivalent to adding another plane on top of the first but rotated by 180 degrees so the normals are facing the opposite direction on the backside. Thus, when you revolve around the back, you see the second image plane, which has its normals facing the opposite way.
This slider sets the numeric identifier assigned to this material. This value is rendered into the MatID auxiliary channel if the corresponding option is enabled in the renderer.
Cook Torrance Node Settings Tab
The Settings tab in the Inspector is duplicated in other 3D nodes. These common controls are described in detail HERE.
About the Author
Justin Robinson is a Certified DaVinci Resolve, Fusion & Fairlight instructor who is known for simplifying concepts and techniques for anyone looking to learn any aspect of the video post-production workflow. Justin is the founder of JayAreTV, a training and premade asset website offering affordable and accessible video post-production education. You can follow Justin on Twitter at @JayAreTV YouTube at JayAreTV or Facebook at MrJayAreTV