|
HDK
|
#include <VOP_HDACodeCompiler.h>
Inheritance diagram for VOP_ShaderHDACompiler:Public Member Functions | |
| VOP_ShaderHDACompiler () | |
| Constructor. More... | |
| void | setRManPath (const char *path) |
| const UT_String & | getRManPath () const |
Public Member Functions inherited from VOP_HDACodeCompiler | |
| VOP_HDACodeCompiler () | |
| virtual | ~VOP_HDACodeCompiler () |
| virtual bool | compileVexCodeToSections (OP_Node *srcnode, FS_IndexFile *hda, const char *context_mask=0) |
| virtual bool | compileNewOperatorType (OP_Node *srcnode, const char *name, const char *label, const char *path, const char *metasrc, const VOP_ContextTypeList *types=NULL) |
| const UT_StringMap < UT_StringHolder > & | getFunctionsSectionsMap () const |
| void | setShaderName (const char *shader_name) |
| Main shader name used in compilation. More... | |
| const UT_StringHolder & | getShaderName () const |
| Main shader name used in compilation. More... | |
| UT_ErrorSeverity | getStatus (UT_String &message, UT_String *details=0) |
| void | setForceCompilationOnOpNameConflict (bool flag) |
| bool | getForceCompilationOnOpNameConflict () |
Static Public Member Functions | |
| static void | removeShaderCodeSections (FS_IndexFile *file) |
| Utility function for cleaning up HDA of any compiled sections. More... | |
Static Public Member Functions inherited from VOP_HDACodeCompiler | |
| static bool | canCompileNode (OP_Node *srcnode) |
| static void | removeCodeSections (OP_Node *node, FS_IndexFile *file) |
| static bool | updateCodeSections (OP_Node *node, FS_IndexFile *file, UT_String *message) |
Protected Member Functions | |
| bool | initForShaderCompilation (OP_Node *srcnode) |
| Sets up member variables to be ready for compilation. More... | |
| virtual void | getContextTypesForCompilation (VOP_ContextTypeList &contexts) const =0 |
| virtual void | doCompile (FS_IndexFile *hda, VOP_CodeGenerator *code_generator, VOP_ContextType context_type, const char *section_name, OP_Node *output_node)=0 |
| bool | compilePrimaryOutputNodes (FS_IndexFile *hda, opui_ScriptMaterialCodeMapper &mapper) |
| void | compileMappedNodes (FS_IndexFile *hda, opui_ScriptMaterialCodeMapper &mapper) |
| OP_Node * | getNode () const |
| VOP_CodeGenerator * | getCodeGenerator () const |
| OP_OperatorTable * | getTable () const |
Protected Member Functions inherited from VOP_HDACodeCompiler | |
| void | saveVflCodeToSection (FS_IndexFile *hda, OP_Node *shader_node, VOP_CodeGenerator *code_generator, VOP_ContextType context_type, const char *section_name, OP_Node *output_node) |
| Saves the code to section. More... | |
| bool | isOK () const |
| Checks if there was an error during compilation up till now. More... | |
| void | setStatus (UT_ErrorSeverity sev, const char *msg, const char *details=0) |
| void | clearStatus () |
A class that compiles a shader (or vop-based operator like Vop SOP), into a script-based HDA (with or without the contents network).
Definition at line 217 of file VOP_HDACodeCompiler.h.
| VOP_ShaderHDACompiler::VOP_ShaderHDACompiler | ( | ) |
Constructor.
|
protected |
Inspects the mapper for vop nodes it has mapped and compiles vex code associated with each mapped node. The code is saved to HDA section.
|
protected |
Compiles the vex code for the Output VOP nodes. If there are a few oputput nodes for the same context (connecting to collect vop via a switch), then the currently selected one is used.
|
protectedpure virtual |
Compiles the given context type of the source node to the HDA in OTL.
| code_generator | The code generator to use for compilation. |
| context_type | The context for which to compile the code. |
| section_name | The name of the HDA section in which to save the compiled code. |
| output_node | The node to use for generating the code, in case there are several output nodes for the same context. |
Implemented in VOP_ShaderHDACompilerHDA, and VOP_ShaderHDACompilerOTL.
|
inlineprotected |
Accessors for the member data, available to derived classes.
Definition at line 239 of file VOP_HDACodeCompiler.h.
|
protectedpure virtual |
Obtains the context types for which to compile the code. The subclass needs to implement this virtual to provide that information.
Implemented in VOP_ShaderHDACompilerHDA, and VOP_ShaderHDACompilerOTL.
|
inlineprotected |
Accessors for the member data, available to derived classes.
Definition at line 237 of file VOP_HDACodeCompiler.h.
|
inline |
Configures the file path where PRMan shaders are located.
Definition at line 227 of file VOP_HDACodeCompiler.h.
|
inlineprotected |
Accessors for the member data, available to derived classes.
Definition at line 241 of file VOP_HDACodeCompiler.h.
|
protected |
Sets up member variables to be ready for compilation.
|
static |
Utility function for cleaning up HDA of any compiled sections.
|
inline |
Configures the file path where PRMan shaders are located.
Definition at line 225 of file VOP_HDACodeCompiler.h.