MaterialX 1.38.7
Loading...
Searching...
No Matches
NumLightsNodeGlsl Class Reference

Utility node for getting number of active lights for GLSL. More...

#include <NumLightsNodeGlsl.h>

Inheritance diagram for NumLightsNodeGlsl:
GlslImplementation ShaderNodeImpl

Public Member Functions

void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override
 Create shader variables needed for the implementation of this node (e.g. More...
 
void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit function definition for the given node instance. More...
 
- Public Member Functions inherited from GlslImplementation
const string & getTarget () const override
 Return an identifier for the target used by this implementation. More...
 
bool isEditable (const ShaderInput &input) const override
 Returns true if an input is editable by users. More...
 
- Public Member Functions inherited from ShaderNodeImpl
virtual const string & getTarget () const
 Return an identifier for the target used by this implementation. More...
 
virtual void initialize (const InterfaceElement &element, GenContext &context)
 Initialize with the given implementation element. More...
 
const string & getName () const
 Return the name of this implementation.
 
size_t getHash () const
 Return a hash for this implementation. More...
 
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
 Create shader variables needed for the implementation of this node (e.g. More...
 
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.
 
virtual ShaderGraphgetGraph () const
 Return a pointer to the graph if this implementation is using a graph, or returns nullptr otherwise. More...
 
virtual bool isEditable (const ShaderInput &) const
 Returns true if an input is editable by users. More...
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 Returns true if a graph input is accessible by users. More...
 

Static Public Member Functions

static ShaderNodeImplPtr create ()
 

Additional Inherited Members

- Protected Types inherited from GlslImplementation
enum  Space { MODEL_SPACE = 0 , OBJECT_SPACE = 1 , WORLD_SPACE = 2 }
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor.
 
- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 
- Static Protected Attributes inherited from GlslImplementation
static const string SPACE = "space"
 Internal string constants.
 
static const string TO_SPACE = "tospace"
 
static const string FROM_SPACE = "fromspace"
 
static const string WORLD = "world"
 
static const string OBJECT = "object"
 
static const string MODEL = "model"
 
static const string INDEX = "index"
 
static const string GEOMPROP = "geomprop"
 

Detailed Description

Utility node for getting number of active lights for GLSL.

Member Function Documentation

◆ createVariables()

void createVariables ( const ShaderNode node,
GenContext context,
Shader shader 
) const
overridevirtual

Create shader variables needed for the implementation of this node (e.g.

uniforms, inputs and outputs). Used if the node requires input data from the application.

Reimplemented from ShaderNodeImpl.

◆ emitFunctionDefinition()

void emitFunctionDefinition ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
overridevirtual

Emit function definition for the given node instance.

Reimplemented from ShaderNodeImpl.


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