MaterialX 1.38.2
BsdfNodes.h
1//
2// TM & (c) 2017 Lucasfilm Entertainment Company Ltd. and Lucasfilm Ltd.
3// All rights reserved. See LICENSE.txt for license.
4//
5
6#ifndef MATERIALX_BSDFNODES_H
7#define MATERIALX_BSDFNODES_H
8
9#include <MaterialXGenShader/Nodes/SourceCodeNode.h>
10#include <MaterialXGenShader/Nodes/HwSourceCodeNode.h>
11
12namespace MaterialX
13{
14
16class MX_GENSHADER_API DielectricBsdfNode : public SourceCodeNode
17{
18public:
19 static ShaderNodeImplPtr create();
20
21 void addInputs(ShaderNode& node, GenContext&) const override;
22};
23
25class MX_GENSHADER_API HwDielectricBsdfNode : public HwSourceCodeNode
26{
27 public:
28 static ShaderNodeImplPtr create();
29
30 void addInputs(ShaderNode& node, GenContext&) const override;
31};
32
34class MX_GENSHADER_API ConductorBsdfNode : public SourceCodeNode
35{
36public:
37 static ShaderNodeImplPtr create();
38
39 void addInputs(ShaderNode& node, GenContext&) const override;
40};
41
43class MX_GENSHADER_API HwConductorBsdfNode : public HwSourceCodeNode
44{
45public:
46 static ShaderNodeImplPtr create();
47
48 void addInputs(ShaderNode& node, GenContext&) const override;
49};
50
52class MX_GENSHADER_API SheenBsdfNode : public SourceCodeNode
53{
54public:
55 static ShaderNodeImplPtr create();
56
57 void addInputs(ShaderNode& node, GenContext&) const override;
58};
59
61class MX_GENSHADER_API HwSheenBsdfNode : public HwSourceCodeNode
62{
63public:
64 static ShaderNodeImplPtr create();
65
66 void addInputs(ShaderNode& node, GenContext&) const override;
67};
68
69} // namespace MaterialX
70
71#endif
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition: Library.h:40
Conductor BSDF node.
Definition: BsdfNodes.h:35
Dielectric BSDF node.
Definition: BsdfNodes.h:17
A context class for shader generation.
Definition: GenContext.h:27
Conductor BSDF node specifically for HW.
Definition: BsdfNodes.h:44
Dielectric BSDF node specifically for HW.
Definition: BsdfNodes.h:26
Sheen BSDF node specifically for HW.
Definition: BsdfNodes.h:62
Extending the SourceCodeNode with requirements for HW.
Definition: HwSourceCodeNode.h:16
Class representing a node in the shader generation DAG.
Definition: ShaderNode.h:326
Sheen BSDF node.
Definition: BsdfNodes.h:53
Node implementation using data-driven static source code.
Definition: SourceCodeNode.h:18