updated layout of codes

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-15 14:55:10 +08:00
parent 9cfb88235a
commit 5ba705cd6b
3 changed files with 28 additions and 26 deletions

View File

@ -101,22 +101,19 @@ bool MaterialCreater::CreateShader()
if(shader_map.IsEmpty())
return(false);
//mdm.Resort();
mdm.Resort();
ShaderCreater *sc,*last=nullptr;
//for(int i=0;i<shader_map.GetCount();i++)
//{
// if(!shader_map.GetValue(i,sc))
// return(false);
for(int i=0;i<shader_map.GetCount();i++)
{
if(!shader_map.GetValue(i,sc))
return(false);
// sc->CreateShader(last);
sc->CreateShader(last);
// last=sc;
//}
//vert->CreateShader(nullptr);
frag->CreateShader(vert);
last=sc;
}
return(true);
}

View File

@ -238,21 +238,25 @@ bool ShaderCreater::CreateShader(ShaderCreater *last_sc)
if(!ProcStruct())
return(false);
//if(!ProcUBO())
// return(false);
////if(!ProcSSBO())
// //return(false);
//if(!ProcConst())
// return(false);
//if(!ProcSampler())
// return(false);
if(!ProcUBO())
return(false);
//if(!ProcSSBO())
//return(false);
if(!ProcConst())
return(false);
if(!ProcSampler())
return(false);
ProcOutput();
final_shader+="\n";
final_shader+=main_codes;
#ifdef _DEBUG
LOG_INFO(AnsiString(GetShaderStageName(shader_stage))+" shader: \n"+final_shader);
#endif//_DEBUG
return(true);
}

View File

@ -32,17 +32,20 @@ int ShaderCreaterVertex::AddInput(const AnsiString &type,const AnsiString &name)
bool ShaderCreaterVertex::ProcInput(ShaderCreater *)
{
const auto &io=sdm->GetShaderStageIO();
const auto &input=sdm->GetShaderStageIO().input;
if(io.input.IsEmpty())
if(input.IsEmpty())
{
//no input ? this isn't a bug.
//maybe position info from UBO/SBBO/Texture.
return(true);
}
if(!input.IsEmpty())
{
for(auto *ss:io.input)
final_shader+="\n";
for(auto *ss:input)
{
final_shader+="layout(location=";
final_shader+=UTF8String::numberOf(ss->location);
@ -51,8 +54,6 @@ bool ShaderCreaterVertex::ProcInput(ShaderCreater *)
final_shader+=" "+UTF8String(ss->name);
final_shader+=";\n";
}
final_shader+="\n";
}
return(true);