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

Surface node implementation for GLSL. More...

#include <SurfaceNodeGlsl.h>

+ Inheritance diagram for SurfaceNodeGlsl:

Public Member Functions

 SurfaceNodeGlsl ()
 
void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override
 
void emitFunctionCall (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit the function call or inline source code for given node instance in the given context. More...
 
virtual void emitLightLoop (const ShaderNode &node, GenContext &context, ShaderStage &stage, const string &outColor) const
 
- Public Member Functions inherited from GlslImplementation
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 emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit function definition for the given node instance. 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
 

Static Public Member Functions

static ShaderNodeImplPtr create ()
 

Protected Attributes

ClosureContext _callReflection
 Closure contexts for calling closure functions. More...
 
ClosureContext _callTransmission
 
ClosureContext _callIndirect
 
ClosureContext _callEmission
 
- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Additional Inherited Members

- Protected Types inherited from GlslImplementation
enum  Space { MODEL_SPACE = 0, OBJECT_SPACE = 1, WORLD_SPACE = 2 }
 
- Protected Member Functions inherited from GlslImplementation
 GlslImplementation ()
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 
- Static Protected Attributes inherited from GlslImplementation
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
 

Detailed Description

Surface node implementation for GLSL.

Definition at line 15 of file SurfaceNodeGlsl.h.

Constructor & Destructor Documentation

SurfaceNodeGlsl::SurfaceNodeGlsl ( )

Member Function Documentation

static ShaderNodeImplPtr SurfaceNodeGlsl::create ( )
static
void SurfaceNodeGlsl::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.

void SurfaceNodeGlsl::emitFunctionCall ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
overridevirtual

Emit the function call or inline source code for given node instance in the given context.

Reimplemented from ShaderNodeImpl.

virtual void SurfaceNodeGlsl::emitLightLoop ( const ShaderNode node,
GenContext context,
ShaderStage stage,
const string outColor 
) const
virtual

Member Data Documentation

ClosureContext SurfaceNodeGlsl::_callEmission
mutableprotected

Definition at line 33 of file SurfaceNodeGlsl.h.

ClosureContext SurfaceNodeGlsl::_callIndirect
mutableprotected

Definition at line 32 of file SurfaceNodeGlsl.h.

ClosureContext SurfaceNodeGlsl::_callReflection
mutableprotected

Closure contexts for calling closure functions.

Definition at line 30 of file SurfaceNodeGlsl.h.

ClosureContext SurfaceNodeGlsl::_callTransmission
mutableprotected

Definition at line 31 of file SurfaceNodeGlsl.h.


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