Displace Along Normal
VEX node
Displaces the surface along the surface normal by a given amount.
See also: Boxes, Cavities, Cellular Cracks, Lighting Model
This operator displaces the surface along the surface normal by a given amount. The displacement is anti-aliased.
You will often pipe the output of a pattern operator such as Stripes, Boxes, or Rings into the “amount” input. You can further control the amount of displacement by the “scale” multiplier.
Typically, this operator will be used in a displacement shader, with both outputs piped into the corresponding inputs of the Output operator. Alternatively, it can be appear in a surface shader, in which case the displaced normal would be normalized and then connected to the “nN” input of the Lighting Model operator.
The input normal (nN) should be normalized if explicitly connected. If the position (P) and normal (nN) inputs are not connected, the global variables by the same names will be used instead.
Normals are automatically recomputed and set for output.
Note that in the SOP/POP contexts, the shears and object space deformation are not implemented. They exist as parameters for completeness only.
When doing a displacement in RenderMan, be sure to add an rls_transform node to P before piping it into your noise VOP. Make this “current to world” and change the displace space at object level to be the camera you are rendering through. Otherwise the noise will slide.
Usages in other examples
| Example name | Example for | |
|---|---|---|
| Fire Pit example |
Material shader |
|
| Down Hill Lava Flow |
Material shader |