TEMERITY

us.temerity.pipeline.plugin.MRayRenderAction.v2_2_1
Class MRayRenderAction

java.lang.Object
  extended by us.temerity.pipeline.Named
      extended by us.temerity.pipeline.PluginID
          extended by us.temerity.pipeline.BasePlugin
              extended by us.temerity.pipeline.BaseAction
                  extended by us.temerity.pipeline.plugin.CommonActionUtils
                      extended by us.temerity.pipeline.plugin.PythonActionUtils
                          extended by us.temerity.pipeline.plugin.MRayActionUtils
                              extended by us.temerity.pipeline.plugin.MRayRenderAction.v2_2_1.MRayRenderAction
All Implemented Interfaces:
Serializable, Cloneable, Comparable<PluginID>, Glueable

public class MRayRenderAction
extends MRayActionUtils

Renders a collection of MI files using Mental Ray Standalone.

All of the MI file dependencies of the target image which set the Order per-source sequence parameter will be processed. The frame range rendered will be limited by frame numbers of the target images. The Action invokes a new instance of the Mental Ray renderer for each MI file. This is due to how Mental Ray keeps library information loaded when rendering multiple MIs. Since each MI file may potentially have a different set of library files and includes, a separate invocation of 'ray' is necessary to ensure that each one runs in the correct environment.

This action defines the following single valued parameters:

Camera Name
Name of the "camera" object in the source MI files used to render the target images.

Framebuffer Type
The data format of the target rendered images.

Keep Temp Files
Should the Action preserve the temporary MI files it generates for rendering.

Render Verbosity
The verbosity of render progress, warning and error messages.

Maya Shaders
Whether to generate "link" and "$include" statements for Mental Ray shaders provided as part of the Maya application.

Include Path
A semicolon seperated list of directories which overrides the path used to resolve "$include" statements in the MI scene file. Toolset environmental variable substitutions are enabled (see evaluate).

Library Path
A semicolon seperated list of directories that mental ray searches for shader libraries containing shader code before the default library paths. Toolset environmental variable substitutions are enabled (see evaluate).

Texture Path
A semicolon seperated list of directories that mental ray searches for texture files. Toolset environmental variable substitutions are enabled (see evaluate).

Extra Opts
Additional command-line arguments.

This action defines the following per-source parameters:

Contains
Each source sequence which sets this parameter should contain input MI files to render. This parameter specifies the type of MI data the Action should expect the files to contain and controls how the Action processes these files. The allowable types are:
ShaderIncs - Contains "link" and "$include" statements for custom shaders. Typically generated by the MRayShaderInc Action.

Lights - Contains light shaders, objects and instances used to illuminate the geometry being rendered and possibly required by shaders.

Shaders - Contains "material" and "shader" statements required by the geometry to be rendered.

Geometry - Contains "instance" statements for the geometry to be rendered.

InstGroups - Contains "instgroup" statements for instances found in pre-processed geometry MI files and "$include" statements for those files. Typically generated by the MRayInstGroup Action.

Cameras - Contains the camera object and instance used to render the images. May contain additional cameras as well, but they will be ignored.

CamOverride - Contains MI statements which should be used to override settings for the specified render camera as an increment. Typically generated by the MRayCamOverride Action.

Options - Contains an "option" statement specifying render globals.

If the environmental variable MRAY_BINARY is defined, its value will be used as the name of the renderer executable instead of the "ray" (Unix/MacOS) or "ray345.exe" (Windows). On Windows, the renderer name should include the ".exe" extension.

By default, the "python" program is used by this action when running on Windows to process the MI files. An alternative program can be specified by setting PYTHON_BINARY in the Toolset environment to the name of the Python interpertor this Action should use. When naming an alternative Python interpretor under Windows, make sure to include the ".exe" extension in the program name.

See Also:
Serialized Form

Field Summary
static String aBaseLibraries
           
static String aCameraName
           
static String aCameras
           
static String aCamOverride
           
static String aContains
           
static String aFramebufferType
           
static String aGeometry
           
static String aIncludePath
           
static String aInstGroups
           
static String aKeepTempFiles
           
static String aLibraryPath
           
static String aLights
           
static String aMayaShaders
           
static String aOptions
           
static String aRenderVerbosity
           
static String aShaderIncs
           
static String aShaders
           
static String aTexturePath
           
 
Fields inherited from class us.temerity.pipeline.plugin.CommonActionUtils
aExtraOptions
 
Fields inherited from class us.temerity.pipeline.BasePlugin
pDescription
 
Fields inherited from class us.temerity.pipeline.PluginID
pVendor, pVersionID
 
Fields inherited from class us.temerity.pipeline.Named
pName
 
Constructor Summary
MRayRenderAction()
           
 
Method Summary
 TreeMap<String,ActionParam> getInitialSourceParams()
          Get an initial set of action parameters associated with an upstream node.
 SubProcessHeavy prep(ActionAgenda agenda, File outFile, File errFile)
          Construct a SubProcessHeavy instance which when executed will fulfill the given action agenda.
 boolean supportsSourceParams()
          Does this action support per-source parameters?
 
Methods inherited from class us.temerity.pipeline.plugin.MRayActionUtils
getMRayProgram, getMRayProgram
 
Methods inherited from class us.temerity.pipeline.plugin.PythonActionUtils
createPythonSubProcess, createPythonSubProcess, createPythonSubProcess, getPythonFileVerify, getPythonFileVerify, getPythonFileVerify, getPythonFileVerify, getPythonFileVerify, getPythonFileVerify, getPythonIndent, getPythonLaunchHeader, getPythonLaunchPipeHeader, getPythonProgram, getPythonProgram
 
Methods inherited from class us.temerity.pipeline.plugin.CommonActionUtils
addExtraOptionsParam, addExtraOptionsParamToLayout, createScriptSubProcess, createSubProcess, createSubProcess, createSubProcess, createSubProcess, createTempCopySubProcess, createTempScript, escPath, escPath, getExtraOptionsArgs, getPrimarySourcePath, getPrimarySourcePath, getPrimarySourcePath, getPrimarySourcePaths, getPrimarySourcePaths, getPrimarySourcePaths, getPrimaryTargetPath, getPrimaryTargetPath, getPrimaryTargetPath, getPrimaryTargetPaths, getPrimaryTargetPaths, getPrimaryTargetPaths, getSecondarySourceBooleanParamValue, getSecondarySourceDoubleParamValue, getSecondarySourceDoubleParamValue, getSecondarySourceEnumParamIndex, getSecondarySourceIntegerParamValue, getSecondarySourceIntegerParamValue, getSecondarySourceLongParamValue, getSecondarySourceLongParamValue, getSecondarySourceOptionalBooleanParamValue, getSecondarySourceStringParamValue, getSecondarySourceStringParamValue, getSingleBooleanParamValue, getSingleDoubleParamValue, getSingleDoubleParamValue, getSingleEnumParamIndex, getSingleIntegerParamValue, getSingleIntegerParamValue, getSingleLongParamValue, getSingleLongParamValue, getSingleOptionalBooleanParamValue, getSingleStringParamValue, getSingleStringParamValue, getSingleTuple2dParamValue, getSingleTuple2dParamValue, getSingleTuple2dParamValue, getSingleTuple2iParamValue, getSingleTuple2iParamValue, getSingleTuple2iParamValue, getSingleTuple3dParamValue, getSingleTuple3dParamValue, getSingleTuple3dParamValue, getSingleTuple3iParamValue, getSingleTuple3iParamValue, getSingleTuple3iParamValue, getSingleTuple4dParamValue, getSingleTuple4dParamValue, getSingleTuple4dParamValue, getSourceBooleanParamValue, getSourceDoubleParamValue, getSourceDoubleParamValue, getSourceEnumParamIndex, getSourceIntegerParamValue, getSourceIntegerParamValue, getSourceLongParamValue, getSourceLongParamValue, getSourceOptionalBooleanParamValue, getSourceStringParamValue, getSourceStringParamValue, getWorkingNodeFilePath, getWorkingNodeFilePath, getWorkingNodeFilePath, getWorkingNodeFilePath, getWorkingNodeFilePaths
 
Methods inherited from class us.temerity.pipeline.BaseAction
addPreset, addPresetValues, addSingleParam, chmod, cleanupLater, clearAllLinkParams, clearLinkParams, clone, createTemp, createTemp, equals, equalSingleParams, equalSourceParams, fromGlue, getPluginType, getPresetChoices, getPresetValues, getSecondarySequences, getSecondarySourceNames, getSecondarySourceParam, getSecondarySourceParams, getSecondarySourceParamValue, getSingleLayout, getSingleParam, getSingleParams, getSingleParamValue, getSourceLayout, getSourceNames, getSourceParam, getSourceParams, getSourceParamValue, getTempDir, getTempPath, hasSecondarySourceParams, hasSingleParams, hasSourceParams, initSecondarySourceParams, initSourceParams, removeAllSourceParams, removeSecondarySourceParams, removeSecondarySourceParams, removeSourceParams, setSecondarySourceParamValue, setSingleLayout, setSingleParamValue, setSingleParamValues, setSourceLayout, setSourceParamValue, setSourceParamValues, toGlue
 
Methods inherited from class us.temerity.pipeline.BasePlugin
addSupport, compareTo, getDescription, getFullMessage, getPluginID, getResource, getResources, getResourceSize, getSupports, isUnderDevelopment, removeSupport, setSupports, supports, toString, underDevelopment
 
Methods inherited from class us.temerity.pipeline.PluginID
getVendor, getVersionID
 
Methods inherited from class us.temerity.pipeline.Named
getName
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

aCameraName

public static final String aCameraName
See Also:
Constant Field Values

aFramebufferType

public static final String aFramebufferType
See Also:
Constant Field Values

aKeepTempFiles

public static final String aKeepTempFiles
See Also:
Constant Field Values

aRenderVerbosity

public static final String aRenderVerbosity
See Also:
Constant Field Values

aBaseLibraries

public static final String aBaseLibraries
See Also:
Constant Field Values

aMayaShaders

public static final String aMayaShaders
See Also:
Constant Field Values

aIncludePath

public static final String aIncludePath
See Also:
Constant Field Values

aLibraryPath

public static final String aLibraryPath
See Also:
Constant Field Values

aTexturePath

public static final String aTexturePath
See Also:
Constant Field Values

aContains

public static final String aContains
See Also:
Constant Field Values

aShaderIncs

public static final String aShaderIncs
See Also:
Constant Field Values

aLights

public static final String aLights
See Also:
Constant Field Values

aShaders

public static final String aShaders
See Also:
Constant Field Values

aGeometry

public static final String aGeometry
See Also:
Constant Field Values

aInstGroups

public static final String aInstGroups
See Also:
Constant Field Values

aCameras

public static final String aCameras
See Also:
Constant Field Values

aCamOverride

public static final String aCamOverride
See Also:
Constant Field Values

aOptions

public static final String aOptions
See Also:
Constant Field Values
Constructor Detail

MRayRenderAction

public MRayRenderAction()
Method Detail

supportsSourceParams

public boolean supportsSourceParams()
Does this action support per-source parameters?

Overrides:
supportsSourceParams in class BaseAction

getInitialSourceParams

public TreeMap<String,ActionParam> getInitialSourceParams()
Get an initial set of action parameters associated with an upstream node.

Overrides:
getInitialSourceParams in class BaseAction

prep

public SubProcessHeavy prep(ActionAgenda agenda,
                            File outFile,
                            File errFile)
                     throws PipelineException
Construct a SubProcessHeavy instance which when executed will fulfill the given action agenda.

Overrides:
prep in class BaseAction
Parameters:
agenda - The agenda to be accomplished by the action.
outFile - The file to which all STDOUT output is redirected.
errFile - The file to which all STDERR output is redirected.
Returns:
The SubProcess which will fulfill the agenda.
Throws:
PipelineException - If unable to prepare a SubProcess due to illegal, missing or imcompatable information in the action agenda or a general failure of the prep method code.

TEMERITY