HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClosureLayerNodeMdl.h
Go to the documentation of this file.
1 //
2 // TM & (c) 2021 Lucasfilm Entertainment Company Ltd. and Lucasfilm Ltd.
3 // All rights reserved. See LICENSE.txt for license.
4 //
5 
6 #ifndef MATERIALX_CLOSURELAYERNODEMDL_H
7 #define MATERIALX_CLOSURELAYERNODEMDL_H
8 
11 
14 
16 
17 /// Closure layer node implementation for MDL.
19 {
20  public:
21  static ShaderNodeImplPtr create();
22 
23  void emitFunctionCall(const ShaderNode& node, GenContext& context, ShaderStage& stage) const override;
24 
25  /// String constants
26  static const string TOP;
27  static const string BASE;
28 };
29 
30 
31 /// Layerable BSDF node.
33 {
34 public:
35  static ShaderNodeImplPtr create();
36 
37  void addInputs(ShaderNode& node, GenContext&) const override;
38 };
39 
41 
42 #endif
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition: Library.h:40
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:23
#define MX_GENMDL_API
Definition: Export.h:18
Layerable BSDF node.
static ShaderNodeImplPtr create()
virtual void addInputs(ShaderNode &node, GenContext &context) const
Add additional inputs on the node.
static const string BASE
static const string TOP
String constants.
Closure layer node implementation for MDL.
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:24
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...