MaterialX 1.39.1
Loading...
Searching...
No Matches
BlurNode Class Referenceabstract

Blur node implementation. More...

#include <BlurNode.h>

Inheritance diagram for BlurNode:
ConvolutionNode ShaderNodeImpl BlurNodeGlsl

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
 Create shader variables needed for the implementation of this node (e.g. More...
 
- Public Member Functions inherited from ShaderNodeImpl
virtual const string & getTarget () const
 Return an identifier for the target used by this implementation. More...
 
virtual void initialize (const InterfaceElement &element, GenContext &context)
 Initialize with the given implementation element. More...
 
const string & getName () const
 Return the name of this implementation.
 
size_t getHash () const
 Return a hash for this implementation. More...
 
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 createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const
 Create shader variables needed for the implementation of this node (e.g. 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.
 
virtual ShaderGraphgetGraph () const
 Return a pointer to the graph if this implementation is using a graph, or returns nullptr otherwise. More...
 
virtual bool isEditable (const ShaderInput &) const
 Returns true if an input is editable by users. More...
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 Returns true if a graph input is accessible by users. More...
 

Protected Member Functions

 BlurNode ()
 Constructor.
 
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 (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, TypeDesc inputType, const string &sampleName, const StringVec &sampleStrings) const
 Output sample array.
 
void outputSampleArray (const ShaderGenerator &shadergen, ShaderStage &stage, const TypeDesc *inputType, const string &sampleName, const StringVec &sampleStrings) const
 
- Protected Member Functions inherited from ConvolutionNode
 ConvolutionNode ()
 Constructor.
 
virtual bool acceptsInputType (TypeDesc type) const =0
 Derived classes are responsible for returning if a given type is an acceptable input. More...
 
bool acceptsInputType (const TypeDesc *type) const
 
virtual void computeSampleOffsetStrings (const string &sampleSizeName, const string &offsetTypeString, unsigned int filterWidth, StringVec &offsetStrings) const =0
 
virtual const ShaderInputgetSamplingInput (const ShaderNode &node) const
 Get input which is used for sampling. More...
 
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
 Generate upstream / input sampling code in uv space and cache the output variable names which will hold the sample values after execution.
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor.
 

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.
 
static const string BOX_WEIGHTS_VARIABLE
 Box filter weights variable name.
 
static const string GAUSSIAN_FILTER
 Gaussian filter option on blur.
 
static const string GAUSSIAN_WEIGHTS_VARIABLE
 Gaussian filter weights variable name.
 
static const string FILTER_LIST
 List of filters.
 
static const string IN_STRING
 String constants.
 
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.

Member Function Documentation

◆ acceptsInputType()

bool acceptsInputType ( TypeDesc  type) const
overrideprotectedvirtual

Return if given type is an acceptible input.

Implements ConvolutionNode.

◆ computeSampleOffsetStrings()

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

Compute offset strings for sampling.

Implements ConvolutionNode.

◆ emitFunctionCall()

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

◆ emitFunctionDefinition()

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

Emit function definition for the given node instance.

Reimplemented from ShaderNodeImpl.

◆ emitSamplingFunctionDefinition()

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

Emit function definitions for sampling functions used by this node.

Implemented in BlurNodeGlsl.


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