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

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

#include <GlslShaderGenerator.h>

+ Inheritance diagram for GlslImplementation:

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 the node. More...
virtual void setValues (const Node &node, ShaderNode &shaderNode, GenContext &context) const
 Set values for additional inputs on the 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

 GlslImplementation ()
- 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 GLSL node implementations.

Definition at line 89 of file GlslShaderGenerator.h.

Member Enumeration Documentation

enum GlslImplementation::Space

Definition at line 102 of file GlslShaderGenerator.h.

Constructor & Destructor Documentation

GlslImplementation::GlslImplementation ( )

Definition at line 97 of file GlslShaderGenerator.h.

Member Function Documentation

const string& GlslImplementation::getTarget ( ) const

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 GlslImplementation::isEditable ( const ShaderInput ) const

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 GeomPropValueNodeGlsl.

Member Data Documentation

const string GlslImplementation::FROM_SPACE

Definition at line 112 of file GlslShaderGenerator.h.

const string GlslImplementation::GEOMPROP

Definition at line 117 of file GlslShaderGenerator.h.

const string GlslImplementation::INDEX

Definition at line 116 of file GlslShaderGenerator.h.

const string GlslImplementation::MODEL

Definition at line 115 of file GlslShaderGenerator.h.

const string GlslImplementation::OBJECT

Definition at line 114 of file GlslShaderGenerator.h.

const string GlslImplementation::SPACE

Internal string constants.

Definition at line 110 of file GlslShaderGenerator.h.

const string GlslImplementation::TO_SPACE

Definition at line 111 of file GlslShaderGenerator.h.

const string GlslImplementation::WORLD

Definition at line 113 of file GlslShaderGenerator.h.

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