HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HwTransformNode Class Referenceabstract

Generic transformation node for hardware languages. More...

#include <HwTransformNode.h>

+ Inheritance diagram for HwTransformNode:

Public Member Functions

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...
 
- Public Member Functions inherited from ShaderNodeImpl
virtual ~ShaderNodeImpl ()
 
virtual const stringgetTarget () const
 
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 ShaderInput &) const
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 

Protected Member Functions

virtual const stringgetMatrix (const string &fromSpace, const string &toSpace) const
 
virtual const stringgetModelToWorldMatrix () const =0
 
virtual const stringgetWorldToModelMatrix () const =0
 
virtual string getHomogeneousCoordinate () const =0
 
virtual bool shouldNormalize () const
 
virtual string getFromSpace (const ShaderNode &) const
 
virtual string getToSpace (const ShaderNode &) const
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 

Static Protected Attributes

static const string FROM_SPACE
 
static const string TO_SPACE
 
static const string MODEL
 
static const string OBJECT
 
static const string WORLD
 

Additional Inherited Members

- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Generic transformation node for hardware languages.

Definition at line 14 of file HwTransformNode.h.

Member Function Documentation

void HwTransformNode::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 HwTransformNode::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 string HwTransformNode::getFromSpace ( const ShaderNode ) const
protectedvirtual
virtual string HwTransformNode::getHomogeneousCoordinate ( ) const
protectedpure virtual
virtual const string& HwTransformNode::getMatrix ( const string fromSpace,
const string toSpace 
) const
protectedvirtual
virtual const string& HwTransformNode::getModelToWorldMatrix ( ) const
protectedpure virtual
virtual string HwTransformNode::getToSpace ( const ShaderNode ) const
protectedvirtual
virtual const string& HwTransformNode::getWorldToModelMatrix ( ) const
protectedpure virtual
virtual bool HwTransformNode::shouldNormalize ( ) const
inlineprotectedvirtual

Reimplemented in HwTransformNormalNode.

Definition at line 25 of file HwTransformNode.h.

Member Data Documentation

const string HwTransformNode::FROM_SPACE
staticprotected

Definition at line 30 of file HwTransformNode.h.

const string HwTransformNode::MODEL
staticprotected

Definition at line 32 of file HwTransformNode.h.

const string HwTransformNode::OBJECT
staticprotected

Definition at line 33 of file HwTransformNode.h.

const string HwTransformNode::TO_SPACE
staticprotected

Definition at line 31 of file HwTransformNode.h.

const string HwTransformNode::WORLD
staticprotected

Definition at line 34 of file HwTransformNode.h.


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