diff --git a/02-Note/DAWA/ASoul/渲染方案/Shader修改部分.md b/02-Note/DAWA/ASoul/渲染方案/Shader修改部分.md index 021cd8a..23c5544 100644 --- a/02-Note/DAWA/ASoul/渲染方案/Shader修改部分.md +++ b/02-Note/DAWA/ASoul/渲染方案/Shader修改部分.md @@ -1,3 +1,44 @@ +# Common +## Common.ush +添加结构体,主要用在材质的CustomNode里。 +```c++ +// Used by toon shading. +// Define a global custom data structure which can be filled by Custom node in material BP. +struct FToonShadingPerMaterialCustomData +{ + // Toon specular + float3 ToonSpecularColor; + float ToonSpecularLocation; + float ToonSpecularSmoothness; + // Toon shadow + float3 ToonShadowColor; + float ToonShadowLocation; + float ToonShadowSmoothness; + float ToonForceShadow; + // Toon secondary shadow + float3 ToonSecondaryShadowColor; + float ToonSecondaryShadowLocation; + float ToonSecondaryShadowSmoothness; + // custom data, usually not used + float4 CustomData0; + float4 CustomData1; + float4 CustomData2; + float4 CustomData3; +}; + +static FToonShadingPerMaterialCustomData ToonShadingPerMaterialCustomData; +``` + +## DeferredShadingCommon.ush + + +# Lighting + +## ShadingModels +### ShadingCommon.ush +1. 添加ShadingModelID宏: +- SHADINGMODELID_TOON_BASE 13 +- # PostProcess @@ -9,7 +50,9 @@ c++部分主要修改了: ***实现向ToneMaper Shader传递 `TRDGUniformBufferRef`的功能*** -之后再PostProcessTonemap.usf中,对**CustomStencil**进行判断,如果为true,则直接返回之前渲染结果。 +之后再PostProcessTonemap.usf中,对**CustomStencil**进行判断,如果为true,则直接返回之前渲染结果。实际上BufferVisualization里根本看不出来。 + + ```c++ #include "DeferredShadingCommon.ush"