41 lines
1.1 KiB
C
Raw Normal View History

#ifndef HGL_GRAPH_SHADER_NODE_INCLUDE
#define HGL_GRAPH_SHADER_NODE_INCLUDE
#include<hgl/type/BaseString.h>
#include<hgl/type/List.h>
2019-12-10 22:12:09 +08:00
#include<hgl/graph/shader/common.h>
BEGIN_SHADER_NODE_NAMESPACE
2019-12-10 22:12:09 +08:00
/**
* Shader Shader的基础
*/
class Node
{
UTF8String type_name; ///<节点类型本身的名称
2019-12-12 22:25:40 +08:00
protected:
2019-12-10 22:12:09 +08:00
UTF8String name; ///<节点用户自定义名称
2019-12-12 22:25:40 +08:00
ObjectList<param::InputParam> input_params;
ObjectList<param::OutputParam> output_params;
2019-12-10 22:12:09 +08:00
public:
2019-12-10 22:12:09 +08:00
Node(const UTF8String &n){type_name=n;}
virtual ~Node()=default;
2019-12-12 22:25:40 +08:00
const UTF8String & GetTypename()const{return type_name;}
const UTF8String & GetName()const{return name;}
void SetName(const UTF8String &n){name=n;}
public: //参数相关
virtual bool IsOutputParam(param::OutputParam *);
virtual bool CheckInputParam();
2019-12-10 22:12:09 +08:00
};//class Node
END_SHADER_NODE_NAMESPACE
#endif//HGL_GRAPH_SHADER_NODE_INCLUDE