renamed many values.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-13 21:58:27 +08:00
parent ece7fa5f32
commit 2cc0dca050
6 changed files with 29 additions and 17 deletions

View File

@ -10,7 +10,10 @@
SHADERGEN_NAMESPACE_BEGIN SHADERGEN_NAMESPACE_BEGIN
class MaterialCreater class MaterialCreater
{ {
uint rt_count; ///<输出的RT数量 protected:
uint rt_color_count; ///<输出的RT数量
bool rt_depth; ///<是否输出深度
uint32_t shader_stage; ///<着色器阶段 uint32_t shader_stage; ///<着色器阶段
@ -39,7 +42,7 @@ public:
public: public:
MaterialCreater(const uint rc,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT); MaterialCreater(const uint rc,const bool rd,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT);
~MaterialCreater()=default; ~MaterialCreater()=default;
bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes); bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes);
@ -49,4 +52,4 @@ public:
bool CompileShader(); bool CompileShader();
};//class MaterialCreater };//class MaterialCreater
SHADERGEN_NAMESPACE_END SHADERGEN_NAMESPACE_END

View File

@ -14,7 +14,7 @@ protected:
protected: protected:
AnsiString shader_codes; AnsiString main_codes;
AnsiString output_struct; AnsiString output_struct;
@ -55,7 +55,7 @@ public:
void SetShaderCodes(const AnsiString &str) void SetShaderCodes(const AnsiString &str)
{ {
shader_codes=str; main_codes=str;
} }
const AnsiString &GetOutputStruct()const{return output_struct;} const AnsiString &GetOutputStruct()const{return output_struct;}

View File

@ -14,6 +14,5 @@ public:
int AddInput(const VAT &type,const AnsiString &name); int AddInput(const VAT &type,const AnsiString &name);
int AddInput(const AnsiString &type,const AnsiString &name); int AddInput(const AnsiString &type,const AnsiString &name);
}; };
SHADERGEN_NAMESPACE_END SHADERGEN_NAMESPACE_END

View File

@ -4,9 +4,11 @@ using namespace hgl;
using namespace hgl::graph; using namespace hgl::graph;
SHADERGEN_NAMESPACE_BEGIN SHADERGEN_NAMESPACE_BEGIN
MaterialCreater::MaterialCreater(const uint rc,const uint32 ss) MaterialCreater::MaterialCreater(const uint rc,const bool rd,const uint32 ss)
{ {
rt_count=rc; rt_color_count=rc;
rt_depth=rd;
shader_stage=ss; shader_stage=ss;
if(hasVertex ())shader_map.Add(vert=new ShaderCreaterVertex (&mdm));else vert=nullptr; if(hasVertex ())shader_map.Add(vert=new ShaderCreaterVertex (&mdm));else vert=nullptr;

View File

@ -1,4 +1,5 @@
#include<hgl/shadergen/ShaderCreater.h> #include<hgl/shadergen/ShaderCreater.h>
#include"GLSLCompiler.h"
SHADERGEN_NAMESPACE_BEGIN SHADERGEN_NAMESPACE_BEGIN
int ShaderCreater::AddOutput(const VAT &type,const AnsiString &name) int ShaderCreater::AddOutput(const VAT &type,const AnsiString &name)
@ -230,16 +231,23 @@ bool ShaderCreater::CreateShader(ShaderCreater *last_sc)
ProcOutput(); ProcOutput();
final_shader+="\n";
final_shader+=main_codes;
return(true); return(true);
} }
bool ShaderCreater::CompileToSPV() bool ShaderCreater::CompileToSPV()
{ {
if(shader_codes.IsEmpty()) if(main_codes.IsEmpty())
return(false); return(false);
glsl_compiler::SPVData *spv_data=glsl_compiler::Compile(shader_stage,final_shader.c_str());
if(!spv_data)
return(false);
} }
SHADERGEN_NAMESPACE_END SHADERGEN_NAMESPACE_END

View File

@ -4,7 +4,7 @@ SHADERGEN_NAMESPACE_BEGIN
void ShaderCreaterFragment::UseDefaultMain() void ShaderCreaterFragment::UseDefaultMain()
{ {
shader_codes="void main()\n{\n"; main_codes="void main()\n{\n";
const auto &output_list=sdm.GetShaderStageIO().output; const auto &output_list=sdm.GetShaderStageIO().output;
@ -13,16 +13,16 @@ void ShaderCreaterFragment::UseDefaultMain()
for(uint i=0;i<count;i++) for(uint i=0;i<count;i++)
{ {
shader_codes+="\t"; main_codes+="\t";
shader_codes+=(*o)->name; main_codes+=(*o)->name;
shader_codes+="=Get"; main_codes+="=Get";
shader_codes+=(*o)->name; main_codes+=(*o)->name;
shader_codes+="();\n"; main_codes+="();\n";
++o; ++o;
} }
shader_codes+="}"; main_codes+="}";
} }
bool ShaderCreaterFragment::ProcOutput() bool ShaderCreaterFragment::ProcOutput()