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 Variables operator.
Alternatively, it can be appear in a surface shader, in which case the
displaced normal would be normalized and then connected to the
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 RSL 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.
Overall displacement amount, including the amount for shears.
A multiplier of the amount in the perpendicular direction.