HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SwizzleNode.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_SWIZZLENODE_H
7
#define MATERIALX_SWIZZLENODE_H
8
9
#include <
MaterialXGenShader/ShaderNodeImpl.h
>
10
11
MATERIALX_NAMESPACE_BEGIN
12
13
/// Swizzle node implementation
14
class
MX_GENSHADER_API
SwizzleNode
:
public
ShaderNodeImpl
15
{
16
public
:
17
static
ShaderNodeImplPtr
create();
18
19
void
emitFunctionCall
(
const
ShaderNode
& node,
GenContext
& context,
ShaderStage
& stage)
const override
;
20
21
/// Returns true if the input is editable by users.
22
/// Editable inputs are allowed to be published as shader uniforms
23
/// and hence must be presentable in a user interface.
24
bool
isEditable
(
const
ShaderInput
& input)
const override
;
25
26
protected
:
27
/// Get the implementation name of the variable that supports swizzles.
28
/// Allows to override that name in generated code based on the target language.
29
virtual
string
getVariableName(
const
ShaderInput
* input)
const
;
30
};
31
32
MATERIALX_NAMESPACE_END
33
34
#endif
ShaderNodeImplPtr
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition:
Library.h:40
MATERIALX_NAMESPACE_BEGIN
#define MATERIALX_NAMESPACE_BEGIN
Definition:
Generated.h:25
MX_GENSHADER_API
#define MX_GENSHADER_API
Definition:
Export.h:18
ShaderNodeImpl::isEditable
virtual bool isEditable(const ShaderInput &) const
Definition:
ShaderNodeImpl.h:91
ShaderNodeImpl
Definition:
ShaderNodeImpl.h:30
ShaderNodeImpl.h
ShaderNode
Definition:
ShaderNode.h:325
ShaderInput
Definition:
ShaderNode.h:263
GenContext
Definition:
GenContext.h:30
SwizzleNode
Swizzle node implementation.
Definition:
SwizzleNode.h:14
ShaderStage
Definition:
ShaderStage.h:138
MATERIALX_NAMESPACE_END
#define MATERIALX_NAMESPACE_END
Definition:
Generated.h:26
ShaderNodeImpl::emitFunctionCall
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...
MaterialXGenShader
Nodes
SwizzleNode.h
Generated on Sun Nov 17 2024 03:01:26 for HDK by
1.8.6