16 class MaterialGraphSocket;
67#define CE_MATERIAL_GRAPH_NUMERIC_TYPES(F) \
89#define CE_MATERIAL_GRAPH_MATH_NODE_T(T) \
90 extern template class MaterialGraphMathNode<T>; \
91 using MaterialGraph##T##MathNode = MaterialGraphMathNode<T>;
93#undef CE_MATERIAL_GRAPH_MATH_NODE_T
108#define CE_MATERIAL_GRAPH_MATH_NODE_T(T) \
109 extern template class MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Add>; \
110 using MaterialGraph##T##AddNode = MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Add>; \
112 extern template class MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Subtract>; \
113 using MaterialGraph##T##SubtractNode = MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Subtract>; \
115 extern template class MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Multiply>; \
116 using MaterialGraph##T##MultiplyNode = MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Multiply>; \
118 extern template class MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Divide>; \
119 using MaterialGraph##T##DivideNode = MaterialGraphBinaryMathNode<T, MaterialGraphMathOperation::Divide>;
121#undef CE_MATERIAL_GRAPH_MATH_NODE_T
#define CE_MATERIAL_GRAPH_NUMERIC_TYPES(F)
Definition MaterialGraphNode.hpp:67
#define CE_MATERIAL_GRAPH_MATH_NODE_T(T)
Definition MaterialGraphNode.hpp:89
Definition GraphNode.hpp:21
Definition MaterialGraphNode.hpp:95
const MaterialGraphMathOperation operation
Definition MaterialGraphNode.hpp:99
MaterialGraphSocket & lhs
Definition MaterialGraphNode.hpp:100
MaterialGraphSocket & rhs
Definition MaterialGraphNode.hpp:101
MaterialGraphBinaryMathNode(MaterialGraph &graph, const UUID &uuid)
MaterialGraphSocket & output
Definition MaterialGraphNode.hpp:102
A graph that generates a rendering material shader.
Definition MaterialGraph.hpp:17
Definition MaterialGraphNode.hpp:44
MaterialGraphSocket & output
Definition MaterialGraphNode.hpp:49
T value
Definition MaterialGraphNode.hpp:48
MaterialGraphLiteralNode(MaterialGraph &graph, const UUID &uuid)
Definition MaterialGraphNode.hpp:82
Definition MaterialGraphNode.hpp:18
A material graph node that represents the material output.
Definition MaterialGraphNode.hpp:28
MaterialGraphOutputNode(MaterialGraph &graph, const UUID &uuid)
MaterialGraphSocket & roughness
Definition MaterialGraphNode.hpp:35
MaterialGraphSocket & baseColor
Definition MaterialGraphNode.hpp:32
MaterialGraphSocket & normal
Definition MaterialGraphNode.hpp:33
MaterialGraphSocket & emissive
Definition MaterialGraphNode.hpp:36
MaterialGraphSocket & metallic
Definition MaterialGraphNode.hpp:34
Definition MaterialGraphSocket.hpp:24
Definition Application.hpp:19
MaterialGraphMathOperation
Definition MaterialGraphNode.hpp:73
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Represents a universally unique identifier (UUID).
Definition UUID.hpp:27