MaterialX
1.38.2
source
MaterialXGenShader
Nodes
ThinFilmNode.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_THINFILMNODE_H
7
#define MATERIALX_THINFILMNODE_H
8
9
#include <
MaterialXGenShader/ShaderNodeImpl.h
>
10
11
namespace
MaterialX
12
{
13
14
namespace
Type
15
{
16
// Type declaration for thinfilm data
17
extern
MX_GENSHADER_API
const
TypeDesc* THINFILM;
18
}
19
21
class
MX_GENSHADER_API
ThinFilmNode
:
public
ShaderNodeImpl
22
{
23
public
:
24
static
ShaderNodeImplPtr
create();
25
26
void
emitFunctionCall(
const
ShaderNode
& node,
GenContext
& context,
ShaderStage
& stage)
const override
;
27
28
void
addInputs(
ShaderNode
& node,
GenContext
&)
const override
;
29
30
static
void
addThinFilmSupport(
ShaderNode
& node);
31
33
static
const
string
THICKNESS
;
34
static
const
string
IOR;
35
static
const
string
THINFILM_INPUT;
36
};
37
38
}
// namespace MaterialX
39
40
#endif
MaterialX::ShaderNodeImplPtr
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition:
Library.h:40
ShaderNodeImpl.h
Base class for shader node implementations.
MaterialX::GenContext
A context class for shader generation.
Definition:
GenContext.h:27
MaterialX::ShaderNode
Class representing a node in the shader generation DAG.
Definition:
ShaderNode.h:326
MaterialX::ShaderNodeImpl
Class handling the shader generation implementation for a node.
Definition:
ShaderNodeImpl.h:32
MaterialX::ShaderStage
A shader stage, containing the state and resulting source code for the stage.
Definition:
ShaderStage.h:124
MaterialX::ThinFilmNode
Thin-Film node.
Definition:
ThinFilmNode.h:22
MaterialX::ThinFilmNode::THICKNESS
static const string THICKNESS
String constants.
Definition:
ThinFilmNode.h:33
Generated by
1.9.3