|
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...
|
|
void | createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override |
| Create shader variables needed for the implementation of this node (e.g. More...
|
|
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...
|
|
|
| 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 (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.
|
|
| ConvolutionNode () |
| Constructor.
|
|
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 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.
|
|
| ShaderNodeImpl () |
| Protected constructor.
|
|
|
static const string | _sampleSizeFunctionUV = "mx_compute_sample_size_uv" |
| Name of function to compute sample size in uv space. More...
|
|
static const float | _filterSize = 1.0 |
|
static const float | _filterOffset = 0.0 |
|
static const string | BOX_FILTER = "box" |
| Box filter option on blur.
|
|
static const string | BOX_WEIGHTS_VARIABLE = "c_box_filter_weights" |
| Box filter weights variable name.
|
|
static const string | GAUSSIAN_FILTER = "gaussian" |
| Gaussian filter option on blur.
|
|
static const string | GAUSSIAN_WEIGHTS_VARIABLE = "c_gaussian_filter_weights" |
| Gaussian filter weights variable name.
|
|
static const string | FILTER_LIST = "box,gaussian" |
| List of filters.
|
|
static const string | IN_STRING = "in" |
| String constants.
|
|
static const string | FILTER_TYPE_STRING = "filtertype" |
|
static const string | FILTER_SIZE_STRING = "size" |
|
Blur node implementation.