MaterialX 1.39.1
|
Blur node implementation for GLSL. More...
#include <BlurNodeGlsl.h>
Public Member Functions | |
void | emitSamplingFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override |
Emit function definitions for sampling functions used by this node. More... | |
Public Member Functions inherited from BlurNode | |
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 ShaderGraph * | getGraph () 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... | |
Static Public Member Functions | |
static ShaderNodeImplPtr | create () |
Additional Inherited Members | |
Protected Member Functions inherited from BlurNode | |
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 ShaderInput * | getSamplingInput (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. | |
Protected Attributes inherited from ShaderNodeImpl | |
string | _name |
size_t | _hash |
Static Protected Attributes inherited from BlurNode | |
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 |
Blur node implementation for GLSL.
|
overridevirtual |
Emit function definitions for sampling functions used by this node.
Implements BlurNode.