HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BlurNodeMdl.h
Go to the documentation of this file.
1 //
2 // Copyright Contributors to the MaterialX Project
3 // SPDX-License-Identifier: Apache-2.0
4 //
5 
6 #ifndef MATERIALX_BLURNODEMDL_H
7 #define MATERIALX_BLURNODEMDL_H
8 
10 
12 
14 
15 /// Blur node MDL implementation
17 {
18  public:
19  static ShaderNodeImplPtr create();
20 
21  void emitFunctionCall(const ShaderNode& node, GenContext& context, ShaderStage& stage) const override;
22 
23  protected:
24  void emitSamplingFunctionDefinition(const ShaderNode& node, GenContext& context, ShaderStage& stage) const override;
25 
26  /// Output sample array
27  void outputSampleArray(const ShaderGenerator& shadergen, ShaderStage& stage, const TypeDesc* inputType,
28  const string& sampleName, const StringVec& sampleStrings) const override;
29 };
30 
32 
33 #endif
virtual void emitSamplingFunctionDefinition(const ShaderNode &node, GenContext &context, ShaderStage &stage) const =0
Emit function definitions for sampling functions used by this node.
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition: Library.h:40
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...
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:25
vector< string > StringVec
A vector of strings.
Definition: Library.h:57
#define MX_GENMDL_API
Definition: Export.h:18
virtual void outputSampleArray(const ShaderGenerator &shadergen, ShaderStage &stage, const TypeDesc *inputType, const string &sampleName, const StringVec &sampleStrings) const
Output sample array.
Blur node implementation.
Definition: BlurNode.h:14
Blur node MDL implementation.
Definition: BlurNodeMdl.h:16
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:26