ULRE/inc/hgl/shadergen/ShaderCreateInfoFragment.h

32 lines
977 B
C
Raw Normal View History

#pragma once
2023-03-17 10:08:41 +08:00
#include<hgl/shadergen/ShaderCreateInfo.h>
#include<hgl/shadergen/ShaderDescriptorInfo.h>
2023-03-17 10:08:41 +08:00
2023-03-21 18:05:48 +08:00
namespace hgl{namespace graph{
2023-03-17 10:08:41 +08:00
class ShaderCreateInfoFragment:public ShaderCreateInfo
{
FragmentShaderDescriptorInfo fsdi;
protected:
2024-06-19 14:03:46 +08:00
bool IsEmptyOutput()const override{return false;/*这个返回啥无所谓因为Fragment Shader走自己的ProcOutput*/ }
2023-03-17 10:08:41 +08:00
bool ProcOutput() override;
2024-06-19 14:03:46 +08:00
void AddMaterialInstanceOutput() override{};
2023-03-17 10:08:41 +08:00
public:
2024-06-19 14:03:46 +08:00
ShaderDescriptorInfo *GetSDI()override{return &fsdi;}
public:
ShaderCreateInfoFragment(MaterialDescriptorInfo *m):ShaderCreateInfo(){ShaderCreateInfo::Init(&fsdi,m);}
2023-03-17 10:08:41 +08:00
~ShaderCreateInfoFragment()=default;
2024-06-20 00:16:29 +08:00
int AddOutput(VIAList &);
int AddOutput(const graph::VAType &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth);
int AddOutput(const AnsiString &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth);
2023-03-17 10:08:41 +08:00
};
2023-03-21 18:05:48 +08:00
}}//namespace hgl::graph