use List<const char *> instead of AnsiStringList in ShaderCreateInfo::function_list
This commit is contained in:
parent
ece7912f3c
commit
1d866abb48
@ -34,7 +34,7 @@ protected:
|
||||
|
||||
AnsiString mi_codes;
|
||||
|
||||
AnsiStringList function_list;
|
||||
List<const char *> function_list;
|
||||
AnsiString main_function;
|
||||
|
||||
AnsiString final_shader;
|
||||
@ -79,10 +79,12 @@ public:
|
||||
int AddOutput(const graph::VAT &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth);
|
||||
int AddOutput(const AnsiString &type,const AnsiString &name,Interpolation inter=Interpolation::Smooth);
|
||||
|
||||
void AddFunction(const AnsiString &str){function_list.Add(str);}
|
||||
void AddFunction(const AnsiString *str){function_list.Add(*str);}
|
||||
void AddFunction(const char *str){function_list.Add(str);}
|
||||
void AddFunction(const AnsiString *str){function_list.Add(str->c_str());}
|
||||
|
||||
void SetMaterialInstance(UBODescriptor *,const AnsiString &);
|
||||
void AddMaterialInstanceOutput();
|
||||
|
||||
void SetLocalToWorld(UBODescriptor *);
|
||||
|
||||
void SetMain(const AnsiString &str){main_function=str;}
|
||||
|
@ -256,7 +256,7 @@ bool MaterialCreateInfo::CreateShader()
|
||||
|
||||
if(sc->GetShaderStage()<mi_shader_stage)
|
||||
{
|
||||
sc->AddOutput(VAT_UINT,mtl::func::MaterialInstanceID,Interpolation::Flat);
|
||||
sc->AddMaterialInstanceOutput();
|
||||
|
||||
sc->AddFunction(MF_HandoverMI);
|
||||
}
|
||||
|
@ -79,7 +79,6 @@ bool ShaderCreateInfo::ProcDefine()
|
||||
AnsiString m;
|
||||
AnsiString v;
|
||||
|
||||
|
||||
for(uint i=0;i<count;i++)
|
||||
{
|
||||
m=define_macro_list.GetString(i);
|
||||
@ -174,6 +173,11 @@ void ShaderCreateInfo::SetMaterialInstance(UBODescriptor *ubo,const AnsiString &
|
||||
mi_codes=mi;
|
||||
}
|
||||
|
||||
void ShaderCreateInfo::AddMaterialInstanceOutput()
|
||||
{
|
||||
AddOutput(VAT_UINT,mtl::func::MaterialInstanceID,Interpolation::Flat);
|
||||
}
|
||||
|
||||
void ShaderCreateInfo::SetLocalToWorld(UBODescriptor *ubo)
|
||||
{
|
||||
sdm->AddUBO(DescriptorSetType::PerFrame,ubo);
|
||||
@ -423,10 +427,8 @@ bool ShaderCreateInfo::CreateShader(ShaderCreateInfo *last_sc)
|
||||
|
||||
ProcOutput();
|
||||
|
||||
for(int i=0;i<function_list.GetCount();i++)
|
||||
{
|
||||
final_shader+=function_list[i];
|
||||
}
|
||||
for(const char *str:function_list)
|
||||
final_shader+=str;
|
||||
|
||||
final_shader+=main_function;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user