ULRE/inc/hgl/graph/shader/node/combo_vector.h
hyzboy 818946a7e7 1.delete MaterialData.h
2.add StandardMaterial and PBRMaterial
2020-01-14 18:09:40 +08:00

115 lines
2.8 KiB
C++

#ifndef HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE
#define HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE
#include<hgl/graph/shader/node/node.h>
SHADER_NODE_NAMESPACE_BEGIN
class ComboVector1to2:public Node
{
param::InputParam *ip_x,*ip_y;
param::OutputParam *op_xy;
public:
ComboVector1to2():Node(NodeType::ComboVector,"ComboVector1to2")
{
ip_x=SHADER_INPUT_PARAM(false,X,Float1)
ip_y=SHADER_INPUT_PARAM(false,Y,Float1)
op_xy=SHADER_OUTPUT_PARAM(XY,Float2)
}
bool GenOutputParamCode(UTF8StringList &)override;
//bool GenCode(UTF8StringList &) override;
};//class ComboVector1to2:public Node
class ComboVector1to3:public Node
{
param::InputParam *ip_x,*ip_y,*ip_z;
param::OutputParam *op_xyz;
public:
ComboVector1to3():Node(NodeType::ComboVector,"ComboVector1to3")
{
ip_x=SHADER_INPUT_PARAM(false,X,Float1)
ip_y=SHADER_INPUT_PARAM(false,Y,Float1)
ip_z=SHADER_INPUT_PARAM(false,Z,Float1)
op_xyz=SHADER_OUTPUT_PARAM(XYZ,Float3)
}
bool GenOutputParamCode(UTF8StringList &)override;
};//class ComboVector1to3:public Node
class ComboVector1to4:public Node
{
param::InputParam *ip_x,*ip_y,*ip_z,*ip_w;
public:
ComboVector1to4():Node(NodeType::ComboVector,"ComboVector1to4")
{
ip_x=SHADER_INPUT_PARAM(false,X,Float1)
ip_y=SHADER_INPUT_PARAM(false,Y,Float1)
ip_z=SHADER_INPUT_PARAM(false,Z,Float1)
ip_w=SHADER_INPUT_PARAM(false,W,Float1)
SHADER_OUTPUT_PARAM(XYZW,Float4)
}
bool GenCode(UTF8StringList &) override;
};//class ComboVector1to4:public Node
class ComboVector12to3:public Node
{
param::InputParam *ip_xy,*ip_z;
public:
ComboVector12to3():Node(NodeType::ComboVector,"ComboVector12to3")
{
ip_xy=SHADER_INPUT_PARAM(false,XY,Float2)
ip_z =SHADER_INPUT_PARAM(false,Z,Float1)
SHADER_OUTPUT_PARAM(XYZ,Float3)
}
bool GenCode(UTF8StringList &) override;
};//class ComboVector2to3:public Node
class ComboVector13to4:public Node
{
param::InputParam *ip_xyz,*ip_w;
public:
ComboVector13to4():Node(NodeType::ComboVector,"ComboVector13to4")
{
ip_xyz=SHADER_INPUT_PARAM(false,XYZ,Float3)
ip_w =SHADER_INPUT_PARAM(false,W,Float1)
SHADER_OUTPUT_PARAM(XYZW,Float4)
}
bool GenCode(UTF8StringList &) override;
};//class ComboVector13to4:public Node
class ComboVector22to4:public Node
{
param::InputParam *ip_xy,*ip_zw;
public:
ComboVector22to4():Node(NodeType::ComboVector,"ComboVector22to4")
{
ip_xy=SHADER_INPUT_PARAM(false,XY,Float2)
ip_zw=SHADER_INPUT_PARAM(false,ZW,Float2)
SHADER_OUTPUT_PARAM(XYZW,Float4)
}
bool GenCode(UTF8StringList &) override;
};//class ComboVector22to4:public Node
SHADER_NODE_NAMESPACE_END
#endif//HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE