Purpose
Purpose is an attribute that can be used to give a prim and its descendants a high-level “visibility flag” in context of rendering.
For example, if a prim has its purpose
attribute set to render
, it will be excluded from being drawn in a renderer that only wants to draw proxy
prims.
In some sense, setting purpose could be considered Stage Traversal but for rendering.
Currently, only 4 values are supported by the purpose
attribute:
Purpose | Description |
---|---|
default | The prim has no special rendering purpose and it will be included in all rendering paths |
guide | A prim tree marked with guide is generally used by interactive applications that have asked to show “guides”. Think of it as requesting to visualize controller geometry for rigs, skeleton data, etc |
proxy | Proxy is usually reserved for a lightweight representation of another object to be used in an interactive renderer such as a DCC viewport |
render | The “final quality” data to be imaged. Usually enabled for offline rendering or final quality rendering |
Unlike Kind. purpose
cannot be extended with custom values!
As seen above, purpose
is not an exclusive toggle! It is possible to have both proxy
and render
purposes active and their contents drawn to the screen.
/root/GEO
has its purpose set to render
, it will only be drawn when the active renderer requests prims with a render
purpose.
/root/GEO_PROXY
has its purpose set to proxy
, it will only be drawn when the active renderer requests prims with a proxy
purpose.