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

#include <ConvolutionNode.h>

+ Inheritance diagram for ConvolutionNode:

Public Member Functions

void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override
 
- 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 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 ShaderInput &) const
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 

Protected Member Functions

 ConvolutionNode ()
 Constructor. More...
 
virtual bool acceptsInputType (const TypeDesc *type) const =0
 Derived classes are responsible for returning if a given type is an acceptable input. More...
 
virtual void computeSampleOffsetStrings (const string &sampleSizeName, const string &offsetTypeString, unsigned int filterWidth, StringVec &offsetStrings) const =0
 
virtual const ShaderInputgetSamplingInput (const ShaderNode &node) const
 
void emitInputSamplesUV (const ShaderNode &node, unsigned int sampleCount, unsigned int filterWidth, float filterSize, float filterOffset, const string &sampleSizeFunctionUV, GenContext &context, ShaderStage &stage, StringVec &sampleStrings) const
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Utility class for implementations of nodes which perform convolutions

Definition at line 21 of file ConvolutionNode.h.

Constructor & Destructor Documentation

ConvolutionNode::ConvolutionNode ( )
protected

Constructor.

Member Function Documentation

virtual bool ConvolutionNode::acceptsInputType ( const TypeDesc type) const
protectedpure virtual

Derived classes are responsible for returning if a given type is an acceptable input.

Implemented in HeightToNormalNodeGlsl, HeightToNormalNodeMsl, BlurNode, and HeightToNormalNodeMdl.

virtual void ConvolutionNode::computeSampleOffsetStrings ( const string sampleSizeName,
const string offsetTypeString,
unsigned int  filterWidth,
StringVec offsetStrings 
) const
protectedpure virtual
void ConvolutionNode::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 ConvolutionNode::emitInputSamplesUV ( const ShaderNode node,
unsigned int  sampleCount,
unsigned int  filterWidth,
float  filterSize,
float  filterOffset,
const string sampleSizeFunctionUV,
GenContext context,
ShaderStage stage,
StringVec sampleStrings 
) const
protected

Generate upstream / input sampling code in uv space and cache the output variable names which will hold the sample values after execution.

virtual const ShaderInput* ConvolutionNode::getSamplingInput ( const ShaderNode node) const
protectedvirtual

Get input which is used for sampling. If there is none then a null pointer is returned.


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