Primitives
How to use the UsdRender primitives in order to output an image.
Relationship
In USD, all you need to render is a couple of primitives:
- RenderSettings
- RenderProduct
- RenderVar
Their relationship is described as:
erDiagram
RenderSettings {
relationship products "/Render/Products/renderproduct"
}
RenderProduct {
relationship orderedVars "RenderVar A, RenderVar B, RenderVar C"
}
RenderVarA {
string sourceName "Beauty"
}
RenderVarB {
string sourceName "CombinedDiffuse"
}
RenderVarC {
string sourceName "CombinedEmission"
}
RenderSettings ||--o| RenderProduct: "produces"
RenderProduct ||--|| RenderVarA : "consumes"
RenderProduct ||--|| RenderVarB : "consumes"
RenderProduct ||--|| RenderVarC : "consumes"
Which translates this way into Houdini Solaris:
Warning
Do not forget to modify the parameter of each primitive: add the RenderVars through Ordered Render Vars inside the RenderProduct, then add the RenderProduct to the RenderSettings through the Ordered Products parameter.
Tip
As described in
Render Globals > Variants
, you can
order
the RenderVars. Taking Arnold as an example, where the
Beauty
is called
RGBA
, you'll use
/Render/Products/Vars/RGBA /Render/Products/Vars/**
inside the RenderProduct
Ordered Render Vars
parameter to have
RGBA
prepended to the RenderVars list, so switching to the Arnold Hydra delegate will immediately show the right RenderVar.