18 #ifndef __HUSD_ShaderTranslator_h__
19 #define __HUSD_ShaderTranslator_h__
45 virtual bool matchesRenderMask(
const UT_StringRef &render_mask ) = 0;
70 static bool hasActiveToken(
int thread);
80 {
return ActiveToken::hasActiveToken(thread); }
156 virtual int getID()
const {
return myID; }
160 { myDependentNodeIDs = node_ids; }
162 {
return myDependentNodeIDs; }
183 virtual bool matchesRenderContext(
const UT_StringRef &render_context ) = 0;
237 int findShaderTranslatorID(
const OP_Node &node )
const;
255 void reportShaderTranslation(
const OP_Node &node,
266 void addTranslationObserver(
const OP_Node &node );
void setDependentNodeIDs(const UT_IntArray &node_ids)
Designates the nodes as shader node dependents, given their IDs.
virtual void setID(int id)
Some translators may want to know their ID in the registry.
const UT_IntArray & getDependentNodeIDs() const
Creates a standard USD Preview Surface shader from Houdini's node.
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
std::pair< int, UT_StringHolder > TranslationRecord
Creates a USD shader primitives from Houdini's nodes.
VOP_Type
Enumeration of the built-in (basic) VOP data types.
virtual int getID() const
MX_RENDER_API ShaderPtr createShader(const string &shaderName, GenContext &context, ElementPtr elem)
Create a shader for a given element.
static bool isTranslatorActive(int thread)