us.temerity.pipeline.plugin.MRayShaderAction.v2_2_1
Class MRayShaderAction
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.MRayShaderAction.v2_2_1.MRayShaderAction
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<PluginID>, Glueable
public class MRayShaderAction
- extends PythonActionUtils
Compiles C source files to generate a Mental Ray shader DSO.
Compiles the shader source file (.c) which is the single member of the primary file
sequence of one of the source nodes into native dynamic library (.so, .dll) shader which
is the single member of the primary file sequence of this node.
Note that the behavior and results of this Action are highly hardware and operating system
specific. Shaders are compiled using the native tools on the machine where the action
is run and the shader DSO produced will only be compatible with operating system used
to compile the shader. Typically, a single shader C source file will be compiled into
DSO's by seperate nodes for each OS supported at a studio. You should use Selection Keys
to limit each of the nodes using this Action to a single hardware/operating system
configuration to avoid architecture incompatibility problems.
See the Mental Ray documentation for details on shader compilation and linking.
This action defines the following single valued parameters:
Shader Source
The source node which contains the C source for the shader.
Architecture
CPU architecture of target render hosts.
Debug
Whether to compile with debugging flags and options.
Include Paths
A semicolon seperated list of additional directories to search for included files.
Toolset environmental variable substitutions are enabled (see
evaluate).
Defined Symbols
Whitespace seperated preprocessor symbol definitions. Toolset environmental variable
substitutions are enabled (see
evaluate).
Extra Options
Additional command-line arguments.
By default, the "python" program is used by this action to run the compilation commands.
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 |
aShaderSource
public static final String aShaderSource
- See Also:
- Constant Field Values
aKeepTempFiles
public static final String aKeepTempFiles
- See Also:
- Constant Field Values
aArchitecture
public static final String aArchitecture
- See Also:
- Constant Field Values
aDebug
public static final String aDebug
- See Also:
- Constant Field Values
aIncludePaths
public static final String aIncludePaths
- See Also:
- Constant Field Values
aDefinedSymbols
public static final String aDefinedSymbols
- See Also:
- Constant Field Values
MRayShaderAction
public MRayShaderAction()
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.