From eb2be07ee174cdb0eb0dd9f5ea1f402059da713c Mon Sep 17 00:00:00 2001 From: hyzboy Date: Wed, 25 Jun 2025 02:03:29 +0800 Subject: [PATCH] =?UTF-8?q?ShaderCreateInfo=E5=A2=9E=E5=8A=A0user=5Fdata?= =?UTF-8?q?=5Fliost/AddUserData=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89=E6=95=B0=E6=8D=AE=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/hgl/shadergen/ShaderCreateInfo.h | 2 ++ src/ShaderGen/ShaderCreateInfo.cpp | 3 +++ 2 files changed, 5 insertions(+) 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;