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

Blur node implementation. More...

#include <BlurNode.h>

+ Inheritance diagram for BlurNode:

Public Member Functions

void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit function definition for the given node instance. More...
 
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 ConvolutionNode
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 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

 BlurNode ()
 Constructor. More...
 
virtual void emitSamplingFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const =0
 Emit function definitions for sampling functions used by this node. More...
 
bool acceptsInputType (const TypeDesc *type) const override
 Return if given type is an acceptible input. More...
 
void computeSampleOffsetStrings (const string &sampleSizeName, const string &offsetTypeString, unsigned int filterWidth, StringVec &offsetStrings) const override
 Compute offset strings for sampling. More...
 
virtual void outputSampleArray (const ShaderGenerator &shadergen, ShaderStage &stage, const TypeDesc *inputType, const string &sampleName, const StringVec &sampleStrings) const
 Output sample array. More...
 
- Protected Member Functions inherited from ConvolutionNode
 ConvolutionNode ()
 Constructor. More...
 
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...
 

Static Protected Attributes

static const string _sampleSizeFunctionUV
 
static const float _filterSize
 
static const float _filterOffset
 
static const string BOX_FILTER
 Box filter option on blur. More...
 
static const string BOX_WEIGHTS_VARIABLE
 Box filter weights variable name. More...
 
static const string GAUSSIAN_FILTER
 Gaussian filter option on blur. More...
 
static const string GAUSSIAN_WEIGHTS_VARIABLE
 Gaussian filter weights variable name. More...
 
static const string FILTER_LIST
 List of filters. More...
 
static const string IN_STRING
 String constants. More...
 
static const string FILTER_TYPE_STRING
 
static const string FILTER_SIZE_STRING
 

Additional Inherited Members

- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Blur node implementation.

Definition at line 14 of file BlurNode.h.

Constructor & Destructor Documentation

BlurNode::BlurNode ( )
protected

Constructor.

Member Function Documentation

bool BlurNode::acceptsInputType ( const TypeDesc type) const
overrideprotectedvirtual

Return if given type is an acceptible input.

Implements ConvolutionNode.

void BlurNode::computeSampleOffsetStrings ( const string sampleSizeName,
const string offsetTypeString,
unsigned int  filterWidth,
StringVec offsetStrings 
) const
overrideprotectedvirtual

Compute offset strings for sampling.

Implements ConvolutionNode.

void BlurNode::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.

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

Emit function definition for the given node instance.

Reimplemented from ShaderNodeImpl.

virtual void BlurNode::emitSamplingFunctionDefinition ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
protectedpure virtual

Emit function definitions for sampling functions used by this node.

Implemented in BlurNodeMdl, BlurNodeGlsl, BlurNodeMsl, and BlurNodeOsl.

virtual void BlurNode::outputSampleArray ( const ShaderGenerator shadergen,
ShaderStage stage,
const TypeDesc inputType,
const string sampleName,
const StringVec sampleStrings 
) const
protectedvirtual

Output sample array.

Reimplemented in BlurNodeMdl.

Member Data Documentation

const float BlurNode::_filterOffset
staticprotected

Definition at line 40 of file BlurNode.h.

const float BlurNode::_filterSize
staticprotected

Definition at line 39 of file BlurNode.h.

const string BlurNode::_sampleSizeFunctionUV
staticprotected

Definition at line 38 of file BlurNode.h.

const string BlurNode::BOX_FILTER
staticprotected

Box filter option on blur.

Definition at line 43 of file BlurNode.h.

const string BlurNode::BOX_WEIGHTS_VARIABLE
staticprotected

Box filter weights variable name.

Definition at line 45 of file BlurNode.h.

const string BlurNode::FILTER_LIST
staticprotected

List of filters.

Definition at line 53 of file BlurNode.h.

const string BlurNode::FILTER_SIZE_STRING
staticprotected

Definition at line 58 of file BlurNode.h.

const string BlurNode::FILTER_TYPE_STRING
staticprotected

Definition at line 57 of file BlurNode.h.

const string BlurNode::GAUSSIAN_FILTER
staticprotected

Gaussian filter option on blur.

Definition at line 48 of file BlurNode.h.

const string BlurNode::GAUSSIAN_WEIGHTS_VARIABLE
staticprotected

Gaussian filter weights variable name.

Definition at line 50 of file BlurNode.h.

const string BlurNode::IN_STRING
staticprotected

String constants.

Definition at line 56 of file BlurNode.h.


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