You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

global proc DL_userRenderPassInit (string $render_pass)

This procedure is called as the last step of the render pass node creation procedure. It is also called as the last step of the DRP_Init() procedure. It could be used to configure a render pass node with different values than the default ones. It can also be used to add various custom attributes, in which case it might be useful to also define DL_userRenderPassAEtemplate(). Finally, it can be used to updat4e custom render pass attributes of older scenes. It should be desgined so that it can be called several times with the same render pass node during a session.

global proc DL_userRenderPassAEtemplate (string $render_pass)

This procedure is called at the end of AEdelightRenderPassTemplate(), which is responsible for defining the attribute editor template for render pass nodes. DL_userRenderPassAEtemplate can be used to define editor template command for user-defined attributes added to the render pass nodes.

global proc string[] DL_userGetAllDisplayDrivers ()

This procedure is called whenever the list of display drivers is needed. The list of the display drivers packaged with 3Delight can be retrieved with DRP_getDefaultDisplayDrivers.

global proc string[] DL_userGetAllDisplayAOVs ()

This procedure is called whenever the list of arbitrary output variables is needed. It is expected to return an array of strings that will be used to build the user interface corresponding to the AOV declarations returned by DL_userGetAllDisplayAOVDeclarations. Note that both DL_userGetAllDisplayAOVs and DL_userGetAllDisplayAOVDeclarations procedures must be defined to be used; they are assumed to return arrays of the same size. The built-in AOVs can be retrieved by calling DRP_getDefaultDisplayAOVs.

global proc string[] DL_userGetAllDisplayAOVDeclarations ()

This procedure is called to retrieve an AOV declaration to pass to the display. 3Delight for Maya looks for the currently selected AOV, figure its index in the array returned by DL_userGetAllDisplayAOVs(), and uses that index on the array returned by DL_userGetAllDisplayAOVDeclarations to provide the display driver an output variable. Inline declarations are allowed. Note that both DL_userGetAllDisplayAOVs and DL_userGetAllDisplayAOVDeclarations procedures must be defined to be used; they are assumed to return arrays of the same size. The built-in AOV declarations can be retrieved by calling DRP_getDefaultDisplayAOVDeclarations.

global proc string[] DL_userGetDisplayAOVsMenuItemsProc ()

This procedure is called when building the displays AOV menu that appears when right-clicking on a display's Output Variable text field in the Attribute Editor. Each menu level is defined by a string array returned by a procedure. DL_userGetDisplayAOVsMenuItemsProc should return the name of the procedure defining the top-level string array of menu elements. Each element of the string array may be constructed of at least one of the parameters listed below. Multiple parameters must be separated by `;'. Note that the label and varname parameters can effectively be used to define an AOV name and declaration, but to properly expand the <aov> token in file names, 3Delight for Maya still depends on the arrays returned by DL_userGetAllDisplayAOVs and DL_userGetAllDisplayAOVDeclarations.

String ElementDescription
type=<element type>

Specifies the type of menu item. Supported types are:

"separator" -

The menu item will be a separator (divider). Other parameters will be ignored.

"menu" -

The menu item will pop up a sub menu when selected. The sub menu will be populated with the elements corresponding to the string array returned by a procedure defined by the `itemsproc' parameter.

"aov" -

The menu item is an AOV. The actual full declaration of the AOV must be specified by the varname parameter. If a label parameter is specified, it will be used to define this menu item's text label. If no label is specified, the correct element from DL_userGetAllDisplayAOVs will be used whenever possible. The varname is used as a label as a last resort.

label=<label string>

Specifies the label to use for this menu item.

itemsproc=<procedure name>Specified the name of a procedure to populate a sub menu. Only relevant when specified along with type=menu. The procedure is expected to take no arguments and return a string array listing the needed menu items.
varname=<aov name>Specifies the full declaration of the AOV. This declaration is when will be set in the display's Output Variable text field. It should be identical to an element of DL_userGetAllDisplayAOVDeclarations if the menu item's label is to be determined automatically using DL_userGetAllDisplayAOVs and to allow correct AOV identification in the display's frame layout label in the Attribute Editor.
varindex=<index>Specifies the index of the arrays returned by DL_userGetAllDisplayAOVs and DL_userGetAllDisplayAOVDeclarations that should be used to determine the aov name and declaration, respectively.
  • No labels