From cf91b3da942726695acc6261698fffc1a08114e1 Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Tue, 12 Mar 2024 17:49:53 +0800 Subject: [PATCH] vault backup: 2024-03-12 17:49:53 --- .../渲染功能/ShaderModel/GBuffer&Material&BasePass.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md index cb930af..7c9c110 100644 --- a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md +++ b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md @@ -220,7 +220,11 @@ else if (Mat.IS_BASE_PASS) ``` ### MaterialTemplate.ush -MaterialTemplate.ush中定义许多模版函数,里面的具体内容会在HLSLMaterialTranslator.h中的**GetMaterialShaderCode()** 中添加。最后这些函数会在BassPassPixelShader.usf中调用。 +MaterialTemplate.ush中定义许多模版函数,里面的具体内容会在HLSLMaterialTranslator.h中的**GetMaterialShaderCode()** 中添加。最后这些函数会在BassPassPixelShader.usf中调用。 + +MaterialTemplate.ush有一处`/** Material declarations */`之后会生成对应FMaterialAttributes结构体,可以在材质编辑器的HLSL中查看生成结果。这与 +- MaterialAttributeDefinitionMap.cpp:FMaterialAttributeDefinitionMap::InitializeAttributeMap()中定义属性。 +- HLSLMaterialTranslator.cpp:GetMaterialShaderCode()中的`for (const FGuid& AttributeID : OrderedVisibleAttributes)`:生成对应属性结构体以及属性获取函数。 ### 是否需要Toon