ULRE/inc/hgl/graph/shader/node/combo_vector.h

115 lines
2.8 KiB
C
Raw Normal View History

2019-12-19 18:08:27 +08:00
#ifndef HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE
#define HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE
#include<hgl/graph/shader/node/node.h>
BEGIN_SHADER_NODE_NAMESPACE
class ComboVector1to2:public Node
{
param::InputParam *ip_x,*ip_y;
param::OutputParam *op_xy;
public:
2019-12-20 22:08:10 +08:00
ComboVector1to2():Node(NodeType::ComboVector,"ComboVector1to2")
2019-12-19 18:08:27 +08:00
{
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;
2019-12-20 22:08:10 +08:00
param::OutputParam *op_xyz;
2019-12-19 18:08:27 +08:00
public:
2019-12-20 22:08:10 +08:00
ComboVector1to3():Node(NodeType::ComboVector,"ComboVector1to3")
2019-12-19 18:08:27 +08:00
{
ip_x=SHADER_INPUT_PARAM(false,X,Float1)
ip_y=SHADER_INPUT_PARAM(false,Y,Float1)
ip_z=SHADER_INPUT_PARAM(false,Z,Float1)
2019-12-20 22:08:10 +08:00
op_xyz=SHADER_OUTPUT_PARAM(XYZ,Float3)
2019-12-19 18:08:27 +08:00
}
2019-12-20 22:08:10 +08:00
bool GenOutputParamCode(UTF8StringList &)override;
2019-12-19 18:08:27 +08:00
};//class ComboVector1to3:public Node
class ComboVector1to4:public Node
{
param::InputParam *ip_x,*ip_y,*ip_z,*ip_w;
public:
2019-12-20 22:08:10 +08:00
ComboVector1to4():Node(NodeType::ComboVector,"ComboVector1to4")
2019-12-19 18:08:27 +08:00
{
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:
2019-12-20 22:08:10 +08:00
ComboVector12to3():Node(NodeType::ComboVector,"ComboVector12to3")
2019-12-19 18:08:27 +08:00
{
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:
2019-12-20 22:08:10 +08:00
ComboVector13to4():Node(NodeType::ComboVector,"ComboVector13to4")
2019-12-19 18:08:27 +08:00
{
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:
2019-12-20 22:08:10 +08:00
ComboVector22to4():Node(NodeType::ComboVector,"ComboVector22to4")
2019-12-19 18:08:27 +08:00
{
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
END_SHADER_NODE_NAMESPACE
#endif//HGL_GRAPH_SHADER_NODE_COMBO_VECTOR_INCLUDE