Ops and Proxies

Deferred Ops

The effect of certain nodes and operations can be deferred until render time. This is done by adding an ops attribute group to the target scene graph location, specifying the operations to run. Nodes that support deferred evaluation include OpScript and GenericOp. Deferred operations are run by the OpResolve node/op, which is part of the implicit resolver chain.

Type

Attribute

Description

group

ops.<modifier>

A group specifying a single Op to run. The modifier name is user-chosen and has no special meaning.

string

ops.<modifier>.opType

The type of Op to run.

group

ops.<modifier>.opArgs

The arguments to the Op. Varies by Op type.

float float float int

ops.<modifier>.opArgs.system.timeSlice.currentTime ops.<modifier>.opArgs.system.timeSlice.shutterOpen ops.<modifier>.opArgs.system.timeSlice.shutterClose ops.<modifier>.opArgs.system.timeSlice.numSamples

Referred to as System Op Args, these arguments are used by some Ops.

string[]

ops.<modifier>.resolveIds

List of resolve IDs. These are arbitrary string tags that are matched against the resolve IDs passed to OpResolve. Two resolve IDs - lookfileresolve and implicit_preprocess - are processed at the beginning of the implicit resolver chain.

int

ops.<modifier>.recursiveEnable

If 1, the deferred Op is also run against descendant locations. When this attribute is encountered at a descendant location with a value of 0, recursion does not continue below that location.

Deferred Material Ops

Ops can also be run at material resolve time. The attribute convention is the same as above, except that ops are nested under a material.ops group, rather than ops.

Viewer Proxy Ops

A similar convention can also be used to specify viewer proxies for scene graph locations.

Type

Attribute

Description

int

proxies.viewer.currentFrame proxies.viewer.firstFrame proxies.viewer.lastFrame

Sets the frame range for which the proxy is active.

int

proxies.viewer.static

If set to 1, the proxy is considered non-animated.

group

proxies.viewer.<modifier>

A group specifying a single Op to use for a proxy. See above for further details.