.

Brushed Shading for Maya/MaterialX

Brushed Normals

ND_BrushedNormals_vector3

Transforms regular smooth shading into brushed shading by rotating the object normals through the brush stroke map, emulating how an artist shades transitions from light to dark by dragging their brush through paint.

img

Inputs / Parameters

menu

Strength

A normalized slider to control the overall effect, from zero (no effect) to 1 (100%).

Brush Mask

This is where you input the Triplanar brush strokes texture map, used to smear an object’s shading normals along the brush strokes.

Gain

A modifier for the brush strokes map, acting as a multiplier, where a value of 1 does nothing, and value above 1 brighten the map, while values below 1 darken it.

Roll

Rotates the world normals based on a “paint-roller” effect. Effectively smearing the object’s shading normals along the brush strokes.

XYZ Rotation

Rotations in world space are converted into screen space, determining the starting direction angle of the roll. Internal yaw and pitch functions in the shader make this unnecessary in most cases.

Brushed Normals OSL

An OSL version with added parameter for screen space rotation. Note that OSL shaders have a warning in LookdevX (Maya 2026.3) that they “may not compile” which can be ignored.

Inputs / Parameters

menu

Strength

A normalized slider to control the overall effect, from zero (no effect) to 1 (100%).

Brush Mask

This is where you input the Triplanar brush strokes texture map, used to smear an object’s shading normals along the brush strokes.

Gain

A modifier for the brush strokes map, acting as a multiplier, where a value of 1 does nothing, and value above 1 brighten the map, while values below 1 darken it.

Roll

Rotates the world normals based on a “paint-roller” effect. Effectively smearing the object’s shading normals along the brush strokes.

XYZ Rotation

Rotations in world space are converted into screen space, determining the starting direction angle of the roll. Internal yaw and pitch functions in the shader make this unnecessary in most cases.

Rotation

Rotates the roll direction clockwise in degrees. At the default value of zero (0) the roll is pointing downwards in screen space so that the roll travels from the top to the bottom. A value of 45 will rotate the roll clockwise 45 degrees in screen space, and -45 will rotate counterclockwise 45 degrees.

Normal Map

Input for tangent space normal maps. Note that both Brushed Normals OSL and Brushed Normals can also be combined with a MaterialX normalmap by connecting them to the normals input.