diff --git a/inc/hgl/shadergen/ShaderCreateInfo.h b/inc/hgl/shadergen/ShaderCreateInfo.h index c1210922..bfecdf16 100644 --- a/inc/hgl/shadergen/ShaderCreateInfo.h +++ b/inc/hgl/shadergen/ShaderCreateInfo.h @@ -37,6 +37,7 @@ protected: AnsiString mi_codes; + ArrayList user_data_list; ArrayList function_list; AnsiString main_function; @@ -88,6 +89,7 @@ public: bool AddUBO(DescriptorSetType type,const UBODescriptor *sd); bool AddSampler(DescriptorSetType type,const SamplerDescriptor *sd); + void AddUserData(const char *str){user_data_list.Add(str);} void AddFunction(const char *str){function_list.Add(str);} void SetMaterialInstance(UBODescriptor *,const AnsiString &); diff --git a/src/ShaderGen/ShaderCreateInfo.cpp b/src/ShaderGen/ShaderCreateInfo.cpp index 6fd7d1e8..1fe8055a 100644 --- a/src/ShaderGen/ShaderCreateInfo.cpp +++ b/src/ShaderGen/ShaderCreateInfo.cpp @@ -358,6 +358,9 @@ bool ShaderCreateInfo::CreateShader(ShaderCreateInfo *last_sc) ProcOutput(); + for(const char *str:user_data_list) + final_shader+=str; + for(const char *str:function_list) final_shader+=str;