HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MslImplementation Class Reference

Base class for common MSL node implementations. More...

#include <MslShaderGenerator.h>

+ Inheritance diagram for MslImplementation:

Public Member Functions

const stringgetTarget () const override
 
bool isEditable (const ShaderInput &input) const override
 
- Public Member Functions inherited from ShaderNodeImpl
virtual ~ShaderNodeImpl ()
 
virtual void initialize (const InterfaceElement &element, GenContext &context)
 
const stringgetName () const
 Return the name of this implementation. More...
 
size_t getHash () const
 
virtual void addInputs (ShaderNode &node, GenContext &context) const
 Add additional inputs on a node. More...
 
virtual void setValues (const Node &node, ShaderNode &shaderNode, GenContext &context) const
 Set values for additional inputs on a node. More...
 
virtual void addClassification (ShaderNode &node) const
 Add additional classifications on a node. More...
 
virtual void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const
 
virtual void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit function definition for the given node instance. More...
 
virtual void emitFunctionCall (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit the function call or inline source code for given node instance in the given context. More...
 
virtual void emitOutputVariables (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit declaration and initialization of output variables to use in a function call. More...
 
virtual ShaderGraphgetGraph () const
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 

Protected Types

enum  Space { MODEL_SPACE = 0, OBJECT_SPACE = 1, WORLD_SPACE = 2 }
 

Protected Member Functions

 MslImplementation ()
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 

Static Protected Attributes

static const string SPACE
 Internal string constants. More...
 
static const string TO_SPACE
 
static const string FROM_SPACE
 
static const string WORLD
 
static const string OBJECT
 
static const string MODEL
 
static const string INDEX
 
static const string GEOMPROP
 

Additional Inherited Members

- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Base class for common MSL node implementations.

Definition at line 118 of file MslShaderGenerator.h.

Member Enumeration Documentation

enum MslImplementation::Space
protected
Enumerator
MODEL_SPACE 
OBJECT_SPACE 
WORLD_SPACE 

Definition at line 131 of file MslShaderGenerator.h.

Constructor & Destructor Documentation

MslImplementation::MslImplementation ( )
inlineprotected

Definition at line 126 of file MslShaderGenerator.h.

Member Function Documentation

const string& MslImplementation::getTarget ( ) const
overridevirtual

Return an identifier for the target used by this implementation. By default an empty string is returned, representing all targets. Only override this method if your derived node implementation class is for a specific target.

Reimplemented from ShaderNodeImpl.

bool MslImplementation::isEditable ( const ShaderInput ) const
overridevirtual

Returns true if an input is editable by users. Editable inputs are allowed to be published as shader uniforms and hence must be presentable in a user interface. By default all inputs are considered to be editable.

Reimplemented from ShaderNodeImpl.

Reimplemented in GeomPropValueNodeMsl.

Member Data Documentation

const string MslImplementation::FROM_SPACE
staticprotected

Definition at line 141 of file MslShaderGenerator.h.

const string MslImplementation::GEOMPROP
staticprotected

Definition at line 146 of file MslShaderGenerator.h.

const string MslImplementation::INDEX
staticprotected

Definition at line 145 of file MslShaderGenerator.h.

const string MslImplementation::MODEL
staticprotected

Definition at line 144 of file MslShaderGenerator.h.

const string MslImplementation::OBJECT
staticprotected

Definition at line 143 of file MslShaderGenerator.h.

const string MslImplementation::SPACE
staticprotected

Internal string constants.

Definition at line 139 of file MslShaderGenerator.h.

const string MslImplementation::TO_SPACE
staticprotected

Definition at line 140 of file MslShaderGenerator.h.

const string MslImplementation::WORLD
staticprotected

Definition at line 142 of file MslShaderGenerator.h.


The documentation for this class was generated from the following file: