RenderPassWedge
Causes upstream nodes to be dispatched multiple times in a range
of contexts, each time with a different value for the renderPass
context variable. Each value of renderPass
is the name of a
render pass created from one or more RenderPasses nodes in the
network upstream of the in
plug.
Tip
Typically, a RenderPassWedge would be placed downstream of your render node of choice, allowing render tasks to be dispatched for each render pass.
Tasks can be varied per pass by using ${renderPass}
in an upstream
Spreadsheet or NameSwitch’s selector
or through use of a
ContextQuery node or an expression.
Specific passes can be disabled from wedging by setting the
renderPass:enabled
option to False
in contexts where that render
pass name is the value of the renderPass
context variable.
Customisation
The behaviour of the RenderPassWedge node can be customised by registering an adaptor that conditionally deletes, renames or disables passes. A common use case is to conditionally enable passes on a per-shot basis according to the presence or absence of particular assets within the scene.
Adaptors should be registered using a client value of “RenderPassWedge” - for example :
GafferScene.SceneAlgo.registerRenderAdaptor( "MyConditionalPassAdaptor", adaptorCreationFunction, client = "RenderPassWedge" )
user
Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.
preTasks
Input connections to upstream nodes which must be executed before this node.
postTasks
Input connections to nodes which must be executed after this node, but which don’t need to be executed before downstream nodes.
task
Output connections to downstream nodes which must not be executed until after this node.
dispatcher
Container for custom plugs which dispatchers use to control their behaviour.
dispatcher.batchSize
Maximum number of frames to batch together when dispatching tasks.
If the node requires sequence execution batchSize
will be ignored.
dispatcher.immediate
Causes this node to be executed immediately upon dispatch, rather than have its execution be scheduled normally by the dispatcher. For instance, when using the LocalDispatcher, the node will be executed immediately in the dispatching process and not in a background process as usual.
When a node is made immediate, all upstream nodes are automatically considered to be immediate too, regardless of their settings.
dispatcher.tractor
Settings that control how tasks are dispatched to Tractor.
dispatcher.tractor.service
A Tractor “service key expression” used to select blades on which tasks will be executed.
in
The input scene containing the render passes to wedge.
out
A direct pass-through of the input scene.
names
The names of the render passes to be wedged.
Note
Render pass names are queried at the script’s start frame to ensure they do not vary over time and to prevent scenes with expensive globals from slowing task dispatch.