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

64 lines
1.5 KiB
C
Raw Normal View History

#ifndef HGL_GRAPH_SHADER_NODE_FINISHED_INCLUDE
#define HGL_GRAPH_SHADER_NODE_FINISHED_INCLUDE
2019-12-12 22:25:40 +08:00
#include<hgl/graph/shader/node/node.h>
#include<hgl/graph/shader/param/in.h>
SHADER_NODE_NAMESPACE_BEGIN
/**
*
*/
2019-12-12 22:25:40 +08:00
class Finished:public Node
{
public:
Finished(const UTF8String &n):Node(NodeType::Finished,n){}
virtual ~Finished()=default;
};//class Finished:public Input
/**
*
*/
class VertexFinished:public Finished
{
2019-12-18 20:12:56 +08:00
protected:
param::InputParam *ip_Position;
public:
2019-12-18 20:12:56 +08:00
VertexFinished():Finished("FinVertex")
{
2019-12-18 20:12:56 +08:00
ip_Position=SHADER_INPUT_PARAM(true,Position, Float3)
2019-12-16 20:35:51 +08:00
SHADER_OUTPUT_PARAM(FragmentPosition,Float3)
SHADER_OUTPUT_PARAM(FragmentTexCoord,Float2)
}
2019-12-12 22:25:40 +08:00
~VertexFinished()=default;
2019-12-18 20:12:56 +08:00
bool GenCode(UTF8StringList &)override;
};//class VertexFinished:public FinishedNode
/**
2019-12-11 19:33:29 +08:00
*
*/
2019-12-11 19:33:29 +08:00
class FragmentFinished:public Finished
{
public:
2019-12-18 20:12:56 +08:00
FragmentFinished():Finished("FinFragment")
{
SHADER_INPUT_PARAM(false,BaseColor, Float3)
SHADER_INPUT_PARAM(false,Normal, Float3)
SHADER_INPUT_PARAM(false,Metallic, Float1)
SHADER_INPUT_PARAM(false,Roughness, Float1)
SHADER_INPUT_PARAM(false,Opacity, Float1)
SHADER_INPUT_PARAM(false,DepthOffset, Float1)
}
2019-12-12 22:25:40 +08:00
~FragmentFinished()=default;
2019-12-11 19:33:29 +08:00
};//class FragmentFinished:public Finished
SHADER_NODE_NAMESPACE_END
#endif//HGL_GRAPH_SHADER_NODE_FINISHED_INCLUDE