RendererProceduralArgs

The RendererProceduralArgs node allows you to use and declare renderer procedurals, such as native Arnold or RenderMan procedurals. For example you can use procedurals to generate hair or other geometry. Procedurals are assigned to scene graph locations of type 'renderer procedural' with the RendererProceduralAssign node.

Connection Type

Connection Name

Function

Input

in

The place in the node graph where you want to declare and use procedurals from a native renderer.

 

Control (UI)

Default Value

Function

name

RendererProceduralArgs

Sets the name of the procedural.

action

create new location

Determines what action the node takes:

create new location - creates a new scene graph location of type "renderer procedural arguments" beneath /root/materials/proc with the name specified by the name parameter.

inherit from existing location - creates a new scene graph location of type "renderer procedural arguments" beneath the location specified by inheritsFrom.location parameter with the name specified by the name parameter.

edit existing location - displays the incoming values of a single scene graph location of type "renderer procedural arguments" or "renderer procedural" specified by the edit.location parameter - applies the specified edits to the values at that location.

edit multiple locations - edits values at the locations specified by the CEL statement from the edit.CEL parameter. This does not display incoming values because they could differ from location to location. This means that you must specify the dso path for the procedural in order to display settable parameters.

action

(continued)

define overrides - accepts drag-and-dropped attributes from rendererProcedural attribute groups. This can be used in two ways:

1.   When aimed (via CEL) at locations within the renderable scene, it creates a rendererProceduralOverride attribute. At resolve time, these values override equivalent values in the rendererProcedural attribute of scene graph locations of type "RendermanProcedural" beneath. This is useful for making global changes to many different procedurals at once, regardless of whether they share the same source.
2.   When aimed (via CEL) at locations of type "renderer procedural arguments", it modifies the rendererProcedural directly in the same manner as the "edit multiple locations" action.

remove overrides - removes or masks inherited attributes in the rendererProceduralOverride at the scene graph locations specified by the CEL statement of the overrides.CEL parameter.

When action is: create new location

namespace

N/A

Specifies the scene graph location under /root/materials where to place the procedural.

procedural

N/A

Brings up the file browser or your studio's asset management browser and enables you to select the procedural to use.

For more information, refer to the Asset and File Path Widget Types in the Common Parameter Widgets.

args

N/A

Specifies the args file attributes.

useInfiniteBounds

Yes

Controls whether the declaration of the procedural includes bounds that the renderer can use to defer evaluation of the procedural until it needs data from inside those bounds.

When set to Yes, nearly infinite bounds are used. When set to No, no bounds are used.

includeCameraInfo

None

Specifies the format in which the camera information is passed to the procedural by the render plug-in.

It includes the following: camera's transform, field of view, and screen window.

None - no camera information is passed to the procedural.

As Parameters - the camera information is passed into the procedural as arguments to the procedural. So the procedural you're specifying args for needs to be expecting to receive this camera information, and know what to do with it.

As Attributes - the camera information is put into the RIB stream as a "user" attribute. So the procedural needs to know to look for this attribute if it wants to use it.

The Parameters and Attributes formats are the following:

string cameraInfo_path - path to the camera.

float cameraInfo_fov - the Field of View.

float cameraInfo_near - distance to the near clipping plane.

float cameraInfo_far - distance to the far clipping plane.

float cameraInfo_left - screen window left.

float cameraInfo_right - screen window right.

float cameraInfo_top - screen window top.

float cameraInfo_bottom - screen window bottom.

float[16] cameraInfo_xform - the camera transform.

When includeCameraInfo is: As Parameters or As Attributes

cameraInfo > whichCamera

Render Camera

Render Camera - selects the render camera.

Other Camera - lets you set the path for the camera using cameraPath

When action is: inherit from existing location

InheritsFrom > location

N/A

Specifies the location to use in the Scene Graph tab. The location parameter options are available by clicking the dropdown menu.

For more information, refer to the Scene Graph Location Widget Type in Common Parameter Widgets.

procedural

N/A

Brings up the file browser or your studio's asset management browser and enables you to select the procedural to use.

For more information, refer to the Asset and File Path Widget Types in the Common Parameter Widgets.

args

N/A

Specifies the args file attributes.

useInfiniteBounds

Yes

Controls whether the declaration of the procedural includes bounds that the renderer can use to defer evaluation of the procedural until it needs data from inside those bounds.

When set to Yes, nearly infinite bounds are used. When set to No, no bounds are used.

includeCameraInfo

None

Specifies the format in which the camera information is passed to the procedural by the render plug-in.

It includes the following: camera's transform, field of view, and screen window.

None - no camera information is passed to the procedural.

As Parameters - the camera information is passed into the procedural as arguments to the procedural. So the procedural you're specifying args for needs to be expecting to receive this camera information, and know what to do with it.

As Attributes - the camera information is put into the RIB stream as a "user" attribute. So the procedural needs to know to look for this attribute if it wants to use it.

The Parameters and Attributes formats are the following:

string cameraInfo_path - path to the camera.

float cameraInfo_fov - the Field of View.

float cameraInfo_near - distance to the near clipping plane.

float cameraInfo_far - distance to the far clipping plane.

float cameraInfo_left - screen window left.

float cameraInfo_right - screen window right.

float cameraInfo_top - screen window top.

float cameraInfo_bottom - screen window bottom.

float[16] cameraInfo_xform - the camera transform.

When includeCameraInfo is: As Parameters or As Attributes

cameraInfo > whichCamera

Render Camera

Render Camera - selects the render camera.

Other Camera - lets you set the path for the camera using cameraPath

When action is: edit existing location

edit > location

N/A

Specifies the location to use in the Scene Graph tab. The location parameter options are available by clicking the dropdown menu.

For more information, refer to the Scene Graph Location Widget Type in Common Parameter Widgets.

procedural

N/A

Brings up the file browser or your studio's asset management browser and enables you to select the procedural to use.

For more information, refer to Asset and File Path Widget Types in Common Parameter Widgets.

args

N/A

Specifies the args file attributes.

useInfiniteBounds

Yes

Controls whether the declaration of the procedural includes bounds that the renderer can use to defer evaluation of the procedural until it needs data from inside those bounds.

When set to Yes, nearly infinite bounds are used. When set to No, no bounds are used.

includeCameraInfo

None

Specifies the format in which the camera information is passed to the procedural by the render plug-in.

It includes the following: camera's transform, field of view, and screen window.

None - no camera information is passed to the procedural.

As Parameters - the camera information is passed into the procedural as arguments to the procedural. So the procedural you're specifying args for needs to be expecting to receive this camera information, and know what to do with it.

As Attributes - the camera information is put into the RIB stream as a "user" attribute. So the procedural needs to know to look for this attribute if it wants to use it.

The Parameters and Attributes formats are the following:

string cameraInfo_path - path to the camera.

float cameraInfo_fov - the Field of View.

float cameraInfo_near - distance to the near clipping plane.

float cameraInfo_far - distance to the far clipping plane.

float cameraInfo_left - screen window left.

float cameraInfo_right - screen window right.

float cameraInfo_top - screen window top.

float cameraInfo_bottom - screen window bottom.

float[16] cameraInfo_xform - the camera transform.

When includeCameraInfo is: As Parameters or As Attributes

cameraInfo > whichCamera

Render Camera

Render Camera - selects the render camera.

Other Camera - lets you set the path for the camera using cameraPath

When action is: edit multiple locations

edit > CEL

N/A

Sets the CEL specification of scene graph locations on which the assignment acts.

The scene graph locations are specified using the Collection Expression Language (CEL). The CEL parameter options are available by clicking Add Statements.

For more information, refer to the CEL Reference document found on the documentation HTML page (accessed through Help > Documentation) or the CEL Statement Widget Type in Common Parameter Widgets.

procedural

N/A

Brings up the file browser or your studio's asset management browser and enables you to select the procedural to use.

For more information, refer to Asset and File Path Widget Types in Common Parameter Widgets.

args

N/A

Specifies the args file attributes.

useInfiniteBounds

Yes

Controls whether the declaration of the procedural includes bounds that the renderer can use to defer evaluation of the procedural until it needs data from inside those bounds.

When set to Yes, nearly infinite bounds are used.

When set to No, no bounds are used.

includeCameraInfo

None

Specifies the format in which the camera information is passed to the procedural by the render plug-in.

It includes the following: camera's transform, field of view, and screen window.

None - no camera information is passed to the procedural.

As Parameters - the camera information is passed into the procedural as arguments to the procedural. So the procedural you're specifying args for needs to be expecting to receive this camera information, and know what to do with it.

As Attributes - the camera information is put into the RIB stream as a "user" attribute. So the procedural needs to know to look for this attribute if it wants to use it.

The Parameters and Attributes formats are the following:

string cameraInfo_path - path to the camera.

float cameraInfo_fov - the Field of View.

float cameraInfo_near - distance to the near clipping plane.

float cameraInfo_far - distance to the far clipping plane.

float cameraInfo_left - screen window left.

float cameraInfo_right - screen window right.

float cameraInfo_top - screen window top.

float cameraInfo_bottom - screen window bottom.

float[16] cameraInfo_xform - the camera transform.

When includeCameraInfo is: As Parameters or As Attributes

cameraInfo > whichCamera

Render Camera

Render Camera - selects the render camera.

Other Camera - lets you set the path for the camera using cameraPath

When action is: define overrides

overrides >  CEL

N/A

Sets the CEL specification of scene graph locations on which the assignment acts.

The scene graph locations are specified using the Collection Expression Language (CEL). The CEL parameter options are available by clicking Add Statements.

For more information, refer to the CEL Reference document found on the documentation HTML page (accessed through Help > Documentation) or the CEL Statement Widget Type in Common Parameter Widgets.

attrs

Drop Attributes Here

Middle-click and drag attributes from the Attributes tab to this hotspot to use that attribute.

When action is: remove overrides

overrides >  CEL

N/A

Sets the CEL specification of scene graph locations on which the assignment acts.

The scene graph locations are specified using the Collection Expression Language (CEL). The CEL parameter options are available by clicking Add Statements.

For more information, refer to the CEL Reference document found on the documentation HTML page (accessed through Help > Documentation) or the CEL Statement Widget Type in Common Parameter Widgets.