HDK
|
#include <HUSD_VexShaderTranslator.h>
Public Member Functions | |
bool | matchesRenderMask (const UT_StringRef &render_mask) override |
void | createMaterialShader (HUSD_AutoWriteLock &lock, const UT_StringRef &usd_material_path, const HUSD_TimeCode &time_code, OP_Node &shader_node, VOP_Type shader_type, const UT_StringRef &output_name) override |
UT_StringHolder | createShader (HUSD_AutoWriteLock &lock, const UT_StringRef &usd_material_path, const UT_StringRef &usd_parent_path, const UT_StringRef &usd_shader_name, const HUSD_TimeCode &time_code, OP_Node &shader_node, const UT_StringRef &output_name) override |
void | updateShaderParameters (HUSD_AutoWriteLock &lock, const UT_StringRef &usd_shader_path, const HUSD_TimeCode &time_code, OP_Node &shader_node, const UT_StringArray ¶meter_names) override |
UT_StringHolder | getRenderContextName (OP_Node &shader_node, const UT_StringRef &output_name) override |
Public Member Functions inherited from HUSD_ShaderTranslator | |
virtual | ~HUSD_ShaderTranslator ()=default |
Standard virtual destructor for this abstract base class. More... | |
virtual void | setID (int id) |
Some translators may want to know their ID in the registry. More... | |
virtual int | getID () const |
void | setDependentNodeIDs (const UT_IntArray &node_ids) |
Designates the nodes as shader node dependents, given their IDs. More... | |
const UT_IntArray & | getDependentNodeIDs () const |
virtual void | beginMaterialTranslation (HUSD_AutoWriteLock &lock, const UT_StringRef &usd_material_path) |
virtual void | endMaterialTranslation (HUSD_AutoWriteLock &lock, const UT_StringRef &usd_material_path) |
Additional Inherited Members | |
Static Public Member Functions inherited from HUSD_ShaderTranslator | |
static bool | isTranslatorActive (int thread) |
Definition at line 25 of file HUSD_VexShaderTranslator.h.
|
overridevirtual |
Defines a USD shader primitive that is part of the USD material. Ie, the translator will connect the shader to the material output.
usd_material_path
- path to the material primitive in which the shader primitive should be created. time_code
- time code at which to evaluate any properties shader_node
- the Houdini node that represents a shader and that needs to be translated into a USD shader primitive shader_type
- some VOPs contains several shaders (eg material builders). So this parameters specifies the type of the shader to pick and translate. output_name
- the output name of the VOP node that represents the shader to pick and translate. It can be an empty string, if the VOP node does not have shader outputs.
Implements HUSD_ShaderTranslator.
|
overridevirtual |
Defines a USD shader primitive that is part of a shader network chain. Ie, the translator will create a shader primitive output, that the caller can use to connect as an input to another shader.
usd_material_path
- path to the material primitive in which the shader primitive should be created. usd_parent_path
- path to the primitive inside which the shader primitive should be created directly. usd_shader_name
- name of the shader primitive to create, (may be an empty string, in which case use node name, etc). time_code
- time code at which to evaluate any properties shader_node
- the Houdini node that represents a shader and that needs to be translated into a USD shader primitive output_name
- the output name of the VOP node that needs to be translated into USD shader output. This is the output the caller is interested in having representation in USD.
output_name
connector on the shader_node
. Implements HUSD_ShaderTranslator.
|
overridevirtual |
Returns the name of the renderer (render context name) that should be used in the material output name for that USD shader.
Implements HUSD_ShaderTranslator.
|
overridevirtual |
Returns true if the translator can encode a shader that reports a given render mask (ie, is a shader for a given render target).
Implements HUSD_ShaderTranslator.
|
overridevirtual |
Re-translates the shader parameters given the shader VOP node (and its new parameter values). usd_shader_path
- the path to the USD shader primitive whose input attributes need updating due to node parm value change. time_code
- time code at which to evaluate any properties shader_node
- Houdini node that represents a shader that needs to be re-translated into the given USD shader primitive. parameter_names
- the list of parameters that have changed. If the list is empty, then any of the node's parameters may have changed. If it's not empty, then only listed parameters have changed.
Implements HUSD_ShaderTranslator.