MaterialX 1.38.10
Loading...
Searching...
No Matches
HeightToNormalNodeGlsl Class Reference

HeightToNormal node implementation for GLSL. More...

#include <HeightToNormalNodeGlsl.h>

Inheritance diagram for HeightToNormalNodeGlsl:
ConvolutionNode ShaderNodeImpl

Public Member Functions

void createVariables (const ShaderNode &, GenContext &, Shader &shader) const override
 Create shader variables needed for the implementation of this node (e.g. More...
 
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...
 
const string & getTarget () const override
 Return an identifier for the target used by this implementation. 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...
 
- 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...
 

Static Public Member Functions

static ShaderNodeImplPtr create ()
 

Protected Member Functions

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...
 
- Protected Member Functions inherited from ConvolutionNode
 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 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.
 

Additional Inherited Members

- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

HeightToNormal node implementation for GLSL.

Member Function Documentation

◆ acceptsInputType()

bool acceptsInputType ( const 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.

◆ createVariables()

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

◆ getTarget()

const string & getTarget ( ) const
overridevirtual

Return an identifier for the target used by this implementation.

By default an empty string is returned, representing all targets. Only override this method if your derived node implementation class is for a specific target.

Reimplemented from ShaderNodeImpl.


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