6 #ifndef MATERIALX_CLOSURELAYERNODEMDL_H
7 #define MATERIALX_CLOSURELAYERNODEMDL_H
24 static const string TOP;
26 static const string FG;
27 static const string BG;
28 static const string IN1;
29 static const string IN2;
32 static const string IOR;
51 TBase::addInputs(node, context);
66 return TBase::isEditable(input);
78 void emitBsdfOverBsdfFunctionCalls(
87 void emitBsdfOverBsdfFunctionCalls_thinFilm(
const string & getName() const
Return the name of this port.
Holds all constants required by the layering and its transformations.
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
#define MATERIALX_NAMESPACE_BEGIN
static const string IN1
parameter of the add and multiply nodes
static const string IOR
ior parameter name of the thin_film_bsdf
static ShaderNodeImplPtr create()
ShaderInput * addInput(const string &name, const TypeDesc *type)
Add inputs/outputs.
virtual const string & getOperatorName(size_t index) const =0
static const string THIN_FILM_IOR
helper parameter name for transporting ior
static const string THICKNESS
thickness parameter name of the thin_film_bsdf
virtual ~ThinFilmCombineNodeMdl()=default
static const string BG
parameter of the mix node
virtual void addInputs(ShaderNode &node, GenContext &context) const
Add additional inputs on a node.
static const string IN2
parameter of the add and multiply nodes
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...
static const string BASE
layer parameter name of the base component
void addInputs(ShaderNode &node, GenContext &context) const override
Base class for operators that on bsdfs that need to transport the thin film parameters.
Used for elemental nodes that can consume thin film.
Closure layer node implementation for MDL.
static const string FG
parameter of the mix node
static const string EMPTY
the empty string ""
GLdouble GLdouble GLdouble top
MX_GENSHADER_API const TypeDesc * FLOAT
#define MATERIALX_NAMESPACE_END
static const string THIN_FILM_THICKNESS
helper parameter name for transporting thickness
bool isEditable(const ShaderInput &input) const override
static const string TOP
String constants.
Used for add_bsdf and multpli_bsdf nodes.