Page tree


This node provides a modern way to generate and layer bump maps, providing an inexpensive way to add small surface details through shading rather than modelling them.

Traditional options do not allow for order-independent mixing and this node provides for easy mixing of multiple inputs if needed. You can also chain these nodes together for more complex networks using masking to vary bump maps across surfaces while using a single material assignment.

Nodes that supply a resultNG output can connect to this node, examples include PxrTexture and many procedural patternsThis new NG vector type expresses the signal's gradient and is more accurate and efficient to compute than traditional bump map techniques.

This tech implements many of the developments in: Surface Gradient-Based Bump Mapping Framework.

Input Parameters


  • Add - Add the results together, A + B

  • Over - Puts A over B, a mask is useful here to reveal the layer underneath, A+B(1-a)

  • Subtract - Subtract the results, A - B

Surface Gradient

Connect your pattern or texture node resultNG connection here.


A simple grayscale (scalar) pattern or texture channel used to mask where you want this particular layer to take effect. This is especially useful when using the Over mode.


This is how strong you want the bump effect to be for this layer and can be controlled using a scalar input such as a pattern or texture channel.


Adjust Amount

Sometimes you may see darkening on the surface, possibly at the horizon where the normal may point away from the camera. This control can push these normals back towards the camera to avoid this artifact.

Surface Normal Mix

Your surface geometry normals can be overridden by the shading normals this provides, if you want to mix these surface normals in with these, you can do so with this control.