33 lines
975 B
C
Raw Normal View History

2019-12-10 22:12:09 +08:00
#ifndef HGL_GRAPH_SHADER_PARAM_INPUT_INCLUDE
#define HGL_GRAPH_SHADER_PARAM_INPUT_INCLUDE
2019-12-12 22:25:40 +08:00
#include<hgl/graph/shader/node/node.h>
#include<hgl/graph/shader/param/out.h>
#include<hgl/graph/shader/param/param.h>
2019-12-10 22:12:09 +08:00
BEGIN_SHADER_PARAM_NAMESPACE
2019-12-10 22:12:09 +08:00
#define SHADER_INPUT_PARAM(name,type) input_params.Add(new SHADER_PARAM_NAMESPACE::InputParam(#name,SHADER_PARAM_NAMESPACE::ParamType::type));
/**
*
*/
class InputParam:public Param
{
2019-12-12 22:25:40 +08:00
node::Node *input_node;
param::OutputParam *output_param;
public:
using Param::Param;
virtual ~InputParam()=default;
2019-12-12 22:25:40 +08:00
virtual bool Join(node::Node *,OutputParam *); ///<增加一个输入节点
virtual void Break(); ///<断开一个输入节点
2019-12-12 22:25:40 +08:00
virtual bool Check(); ///<检测当前节点是否可用
};//class InputParam:public Param
2019-12-10 22:12:09 +08:00
END_SHADER_PARAM_NAMESPACE
#endif//#ifndef HGL_GRAPH_SHADER_PARAM_INPUT_INCLUDE