Hatching (alpha version)

The Hatching style strives to reproduce the artistic shading technique of the same name that uses fine, tightly-packed lines to depict shading on objects. These lines are oriented in a way that follows the direction of the shading.

The motion of the lines stays coherent with the motion of the underlying object. However, the lines themselves are drawn in image space, which makes them unaffected by perspective deformation. This avoids the “synthetic” look of other approaches that rely on texture mapping to achieve a hatching effect.

Furthermore, the style also incorporates a fractalization pass that ensures that the density of the lines stays constant when zooming in and out of an object.

This style is experimental, is likely to contain bugs, and should not be considered production-quality at the moment. However, you are highly encouraged to try it out on your scenes, push it to its limits, use it in weird and unexpected ways, break it, and send us feedback or suggestions about what you would like to see.

The hatching style requires its own specific material: to set this material on an object, select an object and load the “hatching” material preset (see material presets).

Hatching style
Example of hatching style rendering.

The appearance of the hatching lines can be controlled though several material and style attributes that are described in the following sections.

Due to limitations of the ShaderFX framework, you have to manually set the rendering resolution in the Screen Width and Screen Height material parameters.

Style attributes

These attributes specify the behavior of the hatching style.


Length of the hatching lines. If set to zero, produces a stippling effect.

Varying length between 0 and 40


Average relative width (thickness) of the hatching lines, from 0 (invisible) to 1 (maximum thickness).

Varying width between 0 and 0.5


Controls the extent of the diffuse lighting gradient. A value of zero results in a binary shading style.

Varying gradient between 0 and 2


Smoothes the vector field used to orient the hatching lines. Higher values produce less abrupt changes in orientation.

Varying smoothness between 1 and 5

Hatching Material

This section describes the per-material attributes specific to the hatching material. Note that this material inherits from most of the attributes of the uber material, which control the backdrop of the hatching lines. See uber for a description of those attributes.

Hatching > Density Scale

Controls the overall density of the hatching lines.

Varying density scale between 10 and 200

Hatching > Dynamic Noise

If checked, enables the fractalization pass that ensures a constant line density regardless of camera position and zoom. This sometimes produces a slight “blending effect” when moving, so this can be disabled if your shot keeps the object at the same camera distance and zoom level.

Dynamic noise enabled.
Dynamic noise disabled.

Hatching > Screen Width and Hatching > Screen Height

These must be set to match your rendering resolution, in pixels.


The width and the local orientation of the hatching lines can be art-directed procedurally with noiseFX and/or locally by painting with paintFX. See noiseFX and paintFX for usage information.

MNPRX noiseFX window
Art-directable parameters of the hatching style.