diff --git a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md
index a3c48c7..c28f74c 100644
--- a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md
+++ b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ShaderModel/GBuffer&Material&BasePass.md
@@ -341,8 +341,49 @@ bool FMaterialInstanceResource::GetParameterValue(EMaterialParameterType Type, c
 ```
 
 
-MaterialEmitHLSL
-
+MaterialEmitHLSL()=>
+```c++
+bool MaterialEmitHLSL(const FMaterialCompileTargetParameters& InCompilerTarget,  
+    const FStaticParameterSet& InStaticParameters,  
+    FMaterial& InOutMaterial,  
+    FMaterialCompilationOutput& OutCompilationOutput,  
+    TRefCountPtr<FSharedShaderCompilerEnvironment>& OutMaterialEnvironment)
+{
+...
+	if (DerivativeIndex == 0)  
+	{  
+	    const EMaterialDomain MaterialDomain = EmitContext.Material->GetMaterialDomain();  
+	    if (MaterialDomain == MD_Volume || (MaterialDomain == MD_Surface && IsSubsurfaceShadingModel(EmitMaterialData.ShadingModelsFromCompilation)))  
+	    {       const FMaterialParameterInfo SubsurfaceProfileParameterInfo(GetSubsurfaceProfileParameterName());  
+	       const FMaterialParameterMetadata SubsurfaceProfileParameterMetadata(1.f);  
+	       const Material::FExpressionParameter SubsurfaceProfileExpression(SubsurfaceProfileParameterInfo, SubsurfaceProfileParameterMetadata);  
+	  
+	       const FPreparedType SubsurfaceProfilePreparedType = EmitContext.PrepareExpression(&SubsurfaceProfileExpression, *EmitResultScope, EValueType::Float1);  
+	       const FEmitShaderExpression* SubsurfaceProfileEmitExpression = SubsurfaceProfileExpression.GetValueShader(  
+	          EmitContext,  
+	          *EmitResultScope,  
+	          EValueType::Float1,  
+	          SubsurfaceProfilePreparedType,  
+	          EValueType::Float1);  
+	       check(SubsurfaceProfileEmitExpression && SubsurfaceProfileEmitExpression->Reference);  
+	       SubsurfaceProfileShaderCode = SubsurfaceProfileEmitExpression->Reference;  
+	    }
+	}
+	...
+	
+	MaterialTemplateSource = GenerateMaterialTemplateHLSL(InCompilerTarget.ShaderPlatform,  
+	    InOutMaterial,  
+	    EmitContext,  
+	    Declarations.ToString(),  
+	    SharedCode.ToString(),  
+	    VertexCode.ToString(),  
+	    InputPixelCodePhase0,  
+	    InputPixelCodePhase1,  
+	    SubsurfaceProfileShaderCode,  
+	    OutCompilationOutput);
+}
+```
+调用GenerateMaterialTemplateHLSL()
 
 ### 是否需要Toon
 在材质中: