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 Sat Mar 29 2025 02:43:17 for HDK by
1.8.6