From 67da1d1c71bcb3f0467150a4d8b3dfc2a046e19d Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Wed, 15 May 2024 18:08:22 +0800 Subject: [PATCH] vault backup: 2024-05-15 18:08:22 --- .../渲染功能/PostProcess/ToonPostProcess.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/03-UnrealEngine/卡通渲染相关资料/渲染功能/PostProcess/ToonPostProcess.md b/03-UnrealEngine/卡通渲染相关资料/渲染功能/PostProcess/ToonPostProcess.md index a0aa5b5..bf09812 100644 --- a/03-UnrealEngine/卡通渲染相关资料/渲染功能/PostProcess/ToonPostProcess.md +++ b/03-UnrealEngine/卡通渲染相关资料/渲染功能/PostProcess/ToonPostProcess.md @@ -51,3 +51,22 @@ uint GetShadingModelId(float2 UV) return DecodeShadingModelId(Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).a); } ``` + +## ShadingModel判断 +```c++ +bool IsToonShadingModel(float2 UV) +{ + uint ShadingModel = DecodeShadingModelId(Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).a); + return ShadingModel == SHADINGMODELID_TOONSTANDARD + || ShadingModel == SHADINGMODELID_PREINTEGRATED_SKIN; +} +``` +PS.需要Shader添加FSceneTextureShaderParameters/FSceneTextureUniformParameters。 +```c++ +IMPLEMENT_STATIC_UNIFORM_BUFFER_STRUCT(FSceneTextureUniformParameters, "SceneTexturesStruct", SceneTextures); + +BEGIN_SHADER_PARAMETER_STRUCT(FSceneTextureShaderParameters, ENGINE_API) + SHADER_PARAMETER_RDG_UNIFORM_BUFFER(FSceneTextureUniformParameters, SceneTextures) + SHADER_PARAMETER_RDG_UNIFORM_BUFFER(FMobileSceneTextureUniformParameters, MobileSceneTextures) +END_SHADER_PARAMETER_STRUCT() +``` \ No newline at end of file