You are viewing RenderMan 22 documentation which is not the current release. You may view the current documentation by visiting the home page.

Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Contents

This is a displacement plugin that displaces the surface point P in the current space. It supports both scalar and vector inputs. It sums up all the connected scalar and vector inputs before it does the actual displacement. 

All displacement transform related functions are in PxrDispTransform pattern. 

All displacement layering function are PxrDispScalarLayer and PxrDispVectorLayer pattern. 

Instead of including all the functions in one big displacement plugin, this modular design separates the transform and layering, providing more flexibility and efficiency for supporting different production displacement workflows.

You need to set your displacement bound in order to see displacement. Displacement bound is automatically set in RenderMan For Maya.

Displacement Types

There are two types of displacement, scalar and vector: The source of both types of displacement can be procedural or textured.

  • Scalar displacement is a float displacement. It has only one float value. Thus it displaces P either up or down.
  • Vector displacement displaces P in all three dimensions, XYZ.

These examples below show using the same source of displacement values yield different result using the scalar (using a float, e.g. resultF, resultR, ...) vs vector displacement (using a vector, e.g.  resultRGB, resultXYZ).

Error rendering macro 'carousel-slider-macro'

query parameter is required.

Error rendering macro 'carousel-slider-macro'

query parameter is required.

   

Input Parameters

Enabled

If checked, displacement is enabled. This is useful for debugging where we sometime want to turn off displacement.

Gain

Gain for the displacement. If it is zero, there will be no displacement. Higher amounts create larger displacement. Be aware this may cause problems if it exceeds the set Displacement Bounds and it will print a warning at render time.

Scalar Displacement

Scalar displacement input. This is a float displacement. We can connect this to a PxrTexture pattern node or any float pattern node. 

Vector Displacement

Vector displacement input. Vector displacement data is a three channel data file,  XYZ. We can connect this to a PxrTexture pattern node or any pattern node that outputs a vector or color.

Model Displacement

Model Displacement is a vector displacement for the model. This is added to the Vector Displacement above.

It is not uncommon where the modeler sculpts the model with either Mudbox or ZBrush. Then the shading artist look develops it by procedurally creating the vector displacement for more details.  So providing both Model Displacement and Vector Displacement allows this flexible workflow.

Error rendering macro 'carousel-slider-macro'

query parameter is required.

 

Hints on performance:

When displacing objects, RenderMan uses a screen projection to dice objects finely into micropolygons. This typically needs no user adjustment and handles level of detail automatically as objects further away are covered by fewer pixels and diced more coarsely.

There are two ways to adjust this should it not meet your requirements.

  1. Add a new dicing strategy to the object, Dice Strategy > Spherical
  2. Decrease the size of the polygons by adding, Micropolygon Length and reducing this number slowly (decreasing the size of the resulting polygons).