From 5dd92df082469eab9c9f5a1b31baedcda18e9d2f Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Fri, 10 May 2024 17:16:01 +0800 Subject: [PATCH] vault backup: 2024-05-10 17:16:01 --- .../卡通渲染相关资料/卡通渲染开发总览.md | 1 + .../渲染功能/ToonPostLightingPass/OutlinePass.md | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 03-UnrealEngine/卡通渲染相关资料/渲染功能/ToonPostLightingPass/OutlinePass.md diff --git a/03-UnrealEngine/卡通渲染相关资料/卡通渲染开发总览.md b/03-UnrealEngine/卡通渲染相关资料/卡通渲染开发总览.md index 25cb43f..f94d5ce 100644 --- a/03-UnrealEngine/卡通渲染相关资料/卡通渲染开发总览.md +++ b/03-UnrealEngine/卡通渲染相关资料/卡通渲染开发总览.md @@ -52,6 +52,7 @@ rating: ⭐ 15. TODO: +- [ ] ShadingModels.ush 完善Hair高光、自定义高光 - [ ] diff --git a/03-UnrealEngine/卡通渲染相关资料/渲染功能/ToonPostLightingPass/OutlinePass.md b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ToonPostLightingPass/OutlinePass.md new file mode 100644 index 0000000..115215f --- /dev/null +++ b/03-UnrealEngine/卡通渲染相关资料/渲染功能/ToonPostLightingPass/OutlinePass.md @@ -0,0 +1,52 @@ +--- +title: 未命名 +date: 2024-05-10 16:30:16 +excerpt: +tags: +rating: ⭐ +--- + +```c++ +void AddPostProcessingPasses( + FRDGBuilder& GraphBuilder, + const FViewInfo& View, +int32 ViewIndex, + FSceneUniformBuffer& SceneUniformBuffer, + bool bAnyLumenActive, + bool bLumenGIEnabled, + EReflectionsMethod ReflectionsMethod, + const FPostProcessingInputs& Inputs, + const Nanite::FRasterResults* NaniteRasterResults, + FInstanceCullingManager& InstanceCullingManager, + FVirtualShadowMapArray* VirtualShadowMapArray, +FLumenSceneFrameTemporaries& LumenFrameTemporaries, + const FSceneWithoutWaterTextures& SceneWithoutWaterTextures, + FScreenPassTexture TSRMoireInput) +{ + RDG_CSV_STAT_EXCLUSIVE_SCOPE(GraphBuilder, RenderPostProcessing); + QUICK_SCOPE_CYCLE_COUNTER(STAT_PostProcessing_Process); + + check(IsInRenderingThread()); + check(View.VerifyMembersChecks()); + Inputs.Validate(); + + FScene* Scene = View.Family->Scene->GetRenderScene(); + + const FIntRect PrimaryViewRect = View.ViewRect; + + const FSceneTextureParameters SceneTextureParameters = GetSceneTextureParameters(GraphBuilder, Inputs.SceneTextures); + + const FScreenPassRenderTarget ViewFamilyOutput = FScreenPassRenderTarget::CreateViewFamilyOutput(Inputs.ViewFamilyTexture, View); + const FScreenPassTexture SceneDepth(SceneTextureParameters.SceneDepthTexture, PrimaryViewRect); + const FScreenPassTexture CustomDepth(Inputs.CustomDepthTexture, PrimaryViewRect); + const FScreenPassTexture Velocity(SceneTextureParameters.GBufferVelocityTexture, PrimaryViewRect); + const FScreenPassTexture BlackDummy(GSystemTextures.GetBlackDummy(GraphBuilder)); + const FTranslucencyPassResources& PostDOFTranslucencyResources = Inputs.TranslucencyViewResourcesMap.Get(ETranslucencyPass::TPT_TranslucencyAfterDOF); + const FTranslucencyPassResources& PostMotionBlurTranslucencyResources = Inputs.TranslucencyViewResourcesMap.Get(ETranslucencyPass::TPT_TranslucencyAfterMotionBlur); +``` + + +# OutlinePass + +``` +```