us.temerity.pipeline.plugin.MRayShaderIncludeAction.v2_2_1
Class MRayShaderIncludeAction
java.lang.Object
us.temerity.pipeline.Named
us.temerity.pipeline.PluginID
us.temerity.pipeline.BasePlugin
us.temerity.pipeline.BaseAction
us.temerity.pipeline.plugin.CommonActionUtils
us.temerity.pipeline.plugin.PythonActionUtils
us.temerity.pipeline.plugin.MRayShaderIncludeAction.v2_2_1.MRayShaderIncludeAction
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<PluginID>, Glueable
public class MRayShaderIncludeAction
- extends PythonActionUtils
Generates a Mental Ray input file which specifies the locations of a set of shader
definition files and compiled shader dynamic libraries.
Generates a single Mental Ray input file (.mi) as the primary file sequence of the target
node. The primary file sequence of each source node should contain either a Mental Ray
shader definition file (.mi) or the dynamic library (.so|.dll) of a compiled Mental Ray
shader. This Action generates "$include" or "link" statements for each of these source
files suitable to initialize the source Mental Ray custom shaders during rendering.
Normally, the dynamic shader libraries are assumed to have been compiled for a single
operating system which must also be used by Mental Ray renders using the generated primary
target MI file. If the MultiOS parameter is set, then the dynamic libraries are processed
in a more sophisticated manner. Using MultiOS, several alternative dynamic libraries may
be supplied for each operating system supported. The fully resolved node names of these
alternative dynamic libraries must be identical except that the last directory component
must match one of the supported operating system types such as: Unix, MacOS or Windows
(see OsType for details). When MultiOS is set, only one "link" statement will
be written for each set of dynamic libraries which meet this criteria. The operating
system type component of the path will be replaced by the enviromental variable
"PIPELINE_OSTYPE" in these link statements. This variable is dynamically added to the
Toolset environment used by jobs and therefore will be properly resolved to the correct
OS specific dynamic shader library when the job is run.
If the target node also has a Mental Ray input file (.mi) as a secondary file sequence,
then the contents of all of the input shader definition files will be concatenated to
generate this secondary target file. Typically, this file is generate to provide Maya
with the shader definitions it needs to properly initialize a scene containing these
shaders. If used for this purpose, the name of the secondary file sequence should
match the value of PIPELINE_MI_SHADER_PATH defined in the Toolset environment used to
run Maya. The Maya related Editor plugins used this variable to properly setup the
Maya environment for Mental Ray custom shaders. The standard name for this secondary
file is "mi_shader_defs.mi".
This action defines the following single valued parameters:
Multi OS
Whether generate an MI file capable of being used on several different operating
systems by replacing occurances of directories with names which match one of the
defined operating system types with the PIPELINE_OSTYPE environmental variable.
By default, the "python" program is used by this action to copy the target 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
| Fields inherited from class us.temerity.pipeline.Named |
pName |
| 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, getInitialSourceParams, 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, supportsSourceParams, 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.Named |
getName |
aMultiOS
public static final String aMultiOS
- See Also:
- Constant Field Values
MRayShaderIncludeAction
public MRayShaderIncludeAction()
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.