Coat - Arnold User Guide
- Weight
- Color
- Texturing Example
- Darkening
- IOR
- Roughness
- Coat Roughness Anisotropy
- Anisotropy Tangent
- Coat Bump Mapping
Weight
This attribute is used to coat the material with a reflective layer of dielectric with a specified IOR (Coat IOR). Examples would be the clear-coat layer for car paint, a layer of varnish on wood, or wet skin. Other examples would be objects that have been laminated, or a protective film over an aluminum cell phone.
The coat layer of dielectric also contains an absorbing medium which tints the underlying base substrate with the specified Coat Color. Note that the reflection from the top of the coat layer itself is un-tinted though.
![]() |
![]() |
![]() |
0 (default) | 0.5 | 1 (Coat Color: red) |
Color
This is the color of the coating layer's transparency. In the example below, the red Coat Color acts as a clear coat layer, tinting the specular reflection from underneath.
![]() |
![]() |
![]() |
Black | White (default) | Red |
Texturing Example
In the example below, a cyan and white checker texture has been applied to the Base Color and the Coat Color has been changed to yellow. The yellow color acts as a filter (similar to a semi-transparent layer of paint or lacquer), producing a green tint in the blue coated areas.
![]() |
![]() |
![]() |
uncoated blue-checkered base | white base with yellow coat | blue-checkered base with yellow coat |
Cyan * yellow = green (0,1,1) * (1,1,0) = (0,1,0)
Darkening
The observed color of a coated base is darkened and saturated due to multiple internal reflections from the inside of the dielectric coat. For example, varnished wood appears significantly darker than the unvarnished wood. The darkening effect increases as the IOR (Coat IOR) increases, and there is no darkening if the base is white.
This effect is applied automatically, but the Coat Darkening parameter is provided to opt-out of this physical darkening in cases where it is inconvenient.
![]() |
![]() |
![]() |
0 | 0.5 | 1 (default) |
In the example below, Coat Darkening has been used to replicate the effect of a varnish coat layer on a wooden surface.
![]() |
IOR
Defines the index of refraction (IOR) of the dielectric coat layer. Higher IORs produce a stronger coat reflection.
![]() |
![]() |
![]() |
1.6 (default) | 2 | 6 |
Roughness
Controls the roughness of the coat microfacet surface, and thus the glossiness of the specular reflections from the coat. The lower the value, the sharper the reflection. In the limit, a value of 0 will give you a perfectly sharp mirror reflection, while 1.0 will create reflections that are close to a diffuse reflection. You should connect a map here to get variation in the coat highlight.
If the coat is rough, the base specular lobe will also appear more rough, since the light is diffused on passing through the coat.
![]() |
![]() |
![]() |
0.1 (default) | 0.3 | 0.6 |
In the render below, we can see that a rough coat layer also roughens the specular layer underneath it (checker map -> Coat Weight and Coat Roughness).
![]() |
Coat Roughness Anisotropy
Anisotropy refers to a directional bias in the surface roughness, which causes materials to appear rougher or glossier in certain directions. The default value for Coat Roughness Anisotropy is 0 (or "isotropic") which means there is no directional bias. As you move the control towards 1.0, the surface is made more anisotropic in the U axis (so highlights are stretched along U, aligned with the local tangent defined by the Anisotropy Tangent).
![]() |
![]() |
![]() |
0 (default) | 0.5 | 1 |
Coat Roughness Anisotropy is suitable for materials that have a clear brush direction such as brushed metal which has tiny grooves which form a 'stretched' anisotropic reflection. For example the collection of discs below shows how anisotropic surface geometry leads to a stretched highlight.
Many small discs form together to create an effect which is the anisotropic highlight
You may notice faceting appears in highlights when using anisotropy. It is possible to remove the faceted appearance by enabling smooth subdivision tangents (via Arnold subdiv_smooth_derivs
parameter). Take into account this requires a subdivision iteration of at least one in the polymesh to work.
![]() |
![]() |
![]() |
Faceting seen in the anisotropic highlight | Subdivision: enabled. Subdivision Iterations: 1. | Smooth Tangents: enabled. |
Increase Subdivision Iterations to remove anisotropic faceting.
Anisotropy Tangent
The tangent vector field used to define the direction of the coat's roughness anisotropy. The local tangent vector corresponds to the direction in which the highlight is stretched.
Coat Bump Mapping
The normal vector of the coat layer can be perturbed via a normal map (or bump map heightfield), to produce the appearance of fine scale geometry.
Uses for this could include a rain effect, glazing on food, a carbon fiber shader, or a car paint shader where you could use different normals (using e.g. flakes) for the coat and base layers.
![]() |
Out Color -> OpenPBR Surface Geometry Coat Normal
![]() |
![]() |
![]() |
Specular bump map | Specular bump map with Coat | Smooth specular with Coat bump map |