Blender
V4.5
source
blender
nodes
shader
materialx
group_nodes.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011-2022 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
node_parser.h
"
8
9
/* TODO: #pxr::UsdMtlxRead() doesn't perform node-graphs.
10
* Uncomment USE_MATERIALX_NODEGRAPH after fixing it. */
11
// #define USE_MATERIALX_NODEGRAPH
12
13
namespace
blender::nodes::materialx
{
14
15
class
GroupInputNodeParser;
16
17
class
GroupNodeParser
:
public
NodeParser
{
18
friend
GroupInputNodeParser
;
19
20
protected
:
21
bool
use_group_default_
;
22
23
public
:
24
GroupNodeParser
(
NodeGraph
&
graph
,
25
const
bNode
*
node
,
26
const
bNodeSocket
*socket_out,
27
NodeItem::Type
to_type
,
28
GroupNodeParser
*group_parser,
29
bool
use_group_default);
30
NodeItem
compute
()
override
;
31
NodeItem
compute_full
()
override
;
32
};
33
34
class
GroupOutputNodeParser
:
public
GroupNodeParser
{
35
public
:
36
using
GroupNodeParser::GroupNodeParser
;
37
NodeItem
compute
()
override
;
38
NodeItem
compute_full
()
override
;
39
40
private
:
41
static
std::string out_name(
const
bNodeSocket
*out_socket);
42
};
43
44
class
GroupInputNodeParser
:
public
GroupNodeParser
{
45
public
:
46
using
GroupNodeParser::GroupNodeParser
;
47
NodeItem
compute
()
override
;
48
NodeItem
compute_full
()
override
;
49
50
private
:
51
std::string in_name()
const
;
52
};
53
54
}
// namespace blender::nodes::materialx
blender::nodes::materialx::GroupInputNodeParser
Definition
group_nodes.h:44
blender::nodes::materialx::GroupInputNodeParser::compute
NodeItem compute() override
Definition
group_nodes.cc:116
blender::nodes::materialx::GroupInputNodeParser::compute_full
NodeItem compute_full() override
Definition
group_nodes.cc:136
blender::nodes::materialx::GroupNodeParser
Definition
group_nodes.h:17
blender::nodes::materialx::GroupNodeParser::GroupNodeParser
GroupNodeParser(NodeGraph &graph, const bNode *node, const bNodeSocket *socket_out, NodeItem::Type to_type, GroupNodeParser *group_parser, bool use_group_default)
Definition
group_nodes.cc:16
blender::nodes::materialx::GroupNodeParser::compute
NodeItem compute() override
Definition
group_nodes.cc:27
blender::nodes::materialx::GroupNodeParser::compute_full
NodeItem compute_full() override
Definition
group_nodes.cc:52
blender::nodes::materialx::GroupNodeParser::use_group_default_
bool use_group_default_
Definition
group_nodes.h:21
blender::nodes::materialx::GroupOutputNodeParser
Definition
group_nodes.h:34
blender::nodes::materialx::GroupOutputNodeParser::compute_full
NodeItem compute_full() override
Definition
group_nodes.cc:88
blender::nodes::materialx::GroupOutputNodeParser::compute
NodeItem compute() override
Definition
group_nodes.cc:61
blender::nodes::materialx::NodeItem
Definition
node_item.h:18
blender::nodes::materialx::NodeItem::Type
Type
Definition
node_item.h:22
blender::nodes::materialx::NodeParser
Definition
node_parser.h:25
node
OperationNode * node
Definition
deg_builder_cycle.cc:38
graph
Depsgraph * graph
Definition
deg_builder_cycle.cc:51
blender::gpu::shader::to_type
static Type to_type(const eGPUType type)
Definition
gpu_shader_create_info.hh:292
blender::nodes::materialx
Definition
group_nodes.cc:14
node_parser.h
bNodeSocket
Definition
DNA_node_types.h:120
bNode
Definition
DNA_node_types.h:415
blender::nodes::materialx::NodeGraph
Definition
node_graph.h:27
Generated on Fri Apr 3 2026 06:33:18 for Blender by
doxygen
1.11.0