From c4adbcd83eddfdf5f5045764ce3947ee186c1615 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Sat, 18 Apr 2026 14:59:55 +0800 Subject: [PATCH] refactor(rendering): genericize native fullscreen pass descriptors replace camera-specific post-process descriptor naming with generic fullscreen pass types route camera planning and managed SRP runtime through the same fullscreen pass seam --- .../XCEngine/Components/CameraComponent.h | 10 ++--- .../Planning/CameraPostProcessDesc.h | 43 ------------------- .../Rendering/Planning/FullscreenPassDesc.h | 43 +++++++++++++++++++ ...sPassFactory.h => FullscreenPassFactory.h} | 12 +++--- engine/src/Components/CameraComponent.cpp | 42 +++++++++--------- .../CameraFrameFullscreenStagePlanner.cpp | 4 +- .../src/Scripting/Mono/MonoScriptRuntime.cpp | 16 +++---- .../test_camera_light_component.cpp | 10 ++--- .../camera_post_process_scene/main.cpp | 4 +- .../unit/test_camera_scene_renderer.cpp | 16 +++---- 10 files changed, 100 insertions(+), 100 deletions(-) delete mode 100644 engine/include/XCEngine/Rendering/Planning/CameraPostProcessDesc.h create mode 100644 engine/include/XCEngine/Rendering/Planning/FullscreenPassDesc.h rename engine/include/XCEngine/Rendering/Planning/{CameraPostProcessPassFactory.h => FullscreenPassFactory.h} (68%) diff --git a/engine/include/XCEngine/Components/CameraComponent.h b/engine/include/XCEngine/Components/CameraComponent.h index e4e31920..e4560c38 100644 --- a/engine/include/XCEngine/Components/CameraComponent.h +++ b/engine/include/XCEngine/Components/CameraComponent.h @@ -6,8 +6,8 @@ #include #include #include -#include #include +#include #include #include @@ -97,9 +97,9 @@ public: void SetFinalColorOverrides(const Rendering::FinalColorOverrideSettings& value) { m_finalColorOverrides = value; } void ClearFinalColorOverrides() { m_finalColorOverrides = {}; } - const Rendering::CameraPostProcessStack& GetPostProcessPasses() const { return m_postProcessPasses; } - void SetPostProcessPasses(const Rendering::CameraPostProcessStack& values); - void AddPostProcessPass(const Rendering::CameraPostProcessPassDesc& value); + const Rendering::FullscreenPassStack& GetPostProcessPasses() const { return m_postProcessPasses; } + void SetPostProcessPasses(const Rendering::FullscreenPassStack& values); + void AddPostProcessPass(const Rendering::FullscreenPassDesc& value); void ClearPostProcessPasses() { m_postProcessPasses.clear(); } bool IsColorScalePostProcessEnabled() const; @@ -138,7 +138,7 @@ private: Math::Color m_skyboxBottomColor = Math::Color(0.92f, 0.93f, 0.95f, 1.0f); Rendering::FinalColorOverrideSettings m_finalColorOverrides = {}; Math::Vector4 m_colorScalePostProcessDefaultScale = Math::Vector4::One(); - Rendering::CameraPostProcessStack m_postProcessPasses; + Rendering::FullscreenPassStack m_postProcessPasses; }; } // namespace Components diff --git a/engine/include/XCEngine/Rendering/Planning/CameraPostProcessDesc.h b/engine/include/XCEngine/Rendering/Planning/CameraPostProcessDesc.h deleted file mode 100644 index 4e6b1337..00000000 --- a/engine/include/XCEngine/Rendering/Planning/CameraPostProcessDesc.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include - -#include -#include - -namespace XCEngine { -namespace Rendering { - -enum class CameraPostProcessPassType : uint8_t { - ColorScale = 0 -}; - -struct CameraColorScalePostProcessDesc { - Math::Vector4 scale = Math::Vector4::One(); -}; - -struct CameraPostProcessPassDesc { - CameraPostProcessPassType type = CameraPostProcessPassType::ColorScale; - CameraColorScalePostProcessDesc colorScale = {}; - - static CameraPostProcessPassDesc MakeColorScale(const Math::Vector4& scale) { - CameraPostProcessPassDesc desc = {}; - desc.type = CameraPostProcessPassType::ColorScale; - desc.colorScale.scale = scale; - return desc; - } - - bool IsValid() const { - switch (type) { - case CameraPostProcessPassType::ColorScale: - return true; - default: - return false; - } - } -}; - -using CameraPostProcessStack = std::vector; - -} // namespace Rendering -} // namespace XCEngine diff --git a/engine/include/XCEngine/Rendering/Planning/FullscreenPassDesc.h b/engine/include/XCEngine/Rendering/Planning/FullscreenPassDesc.h new file mode 100644 index 00000000..edb0cef1 --- /dev/null +++ b/engine/include/XCEngine/Rendering/Planning/FullscreenPassDesc.h @@ -0,0 +1,43 @@ +#pragma once + +#include + +#include +#include + +namespace XCEngine { +namespace Rendering { + +enum class FullscreenPassType : uint8_t { + ColorScale = 0 +}; + +struct FullscreenColorScaleDesc { + Math::Vector4 scale = Math::Vector4::One(); +}; + +struct FullscreenPassDesc { + FullscreenPassType type = FullscreenPassType::ColorScale; + FullscreenColorScaleDesc colorScale = {}; + + static FullscreenPassDesc MakeColorScale(const Math::Vector4& scale) { + FullscreenPassDesc desc = {}; + desc.type = FullscreenPassType::ColorScale; + desc.colorScale.scale = scale; + return desc; + } + + bool IsValid() const { + switch (type) { + case FullscreenPassType::ColorScale: + return true; + default: + return false; + } + } +}; + +using FullscreenPassStack = std::vector; + +} // namespace Rendering +} // namespace XCEngine diff --git a/engine/include/XCEngine/Rendering/Planning/CameraPostProcessPassFactory.h b/engine/include/XCEngine/Rendering/Planning/FullscreenPassFactory.h similarity index 68% rename from engine/include/XCEngine/Rendering/Planning/CameraPostProcessPassFactory.h rename to engine/include/XCEngine/Rendering/Planning/FullscreenPassFactory.h index 1bc44287..c2b5846c 100644 --- a/engine/include/XCEngine/Rendering/Planning/CameraPostProcessPassFactory.h +++ b/engine/include/XCEngine/Rendering/Planning/FullscreenPassFactory.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include @@ -9,20 +9,20 @@ namespace XCEngine { namespace Rendering { -inline std::unique_ptr BuildCameraPostProcessPassSequence( - const CameraPostProcessStack& postProcessStack) { - if (postProcessStack.empty()) { +inline std::unique_ptr BuildFullscreenPassSequence( + const FullscreenPassStack& fullscreenPasses) { + if (fullscreenPasses.empty()) { return nullptr; } std::unique_ptr sequence = std::make_unique(); - for (const CameraPostProcessPassDesc& passDesc : postProcessStack) { + for (const FullscreenPassDesc& passDesc : fullscreenPasses) { if (!passDesc.IsValid()) { continue; } switch (passDesc.type) { - case CameraPostProcessPassType::ColorScale: + case FullscreenPassType::ColorScale: sequence->AddPass(std::make_unique( passDesc.colorScale.scale)); break; diff --git a/engine/src/Components/CameraComponent.cpp b/engine/src/Components/CameraComponent.cpp index aaf4488c..04cd3423 100644 --- a/engine/src/Components/CameraComponent.cpp +++ b/engine/src/Components/CameraComponent.cpp @@ -57,19 +57,19 @@ bool TryParseVector4(const std::string& value, Math::Vector4& outValue) { return !stream.fail(); } -Rendering::CameraPostProcessStack BuildColorScalePostProcessStack( +Rendering::FullscreenPassStack BuildColorScalePostProcessStack( const std::vector& values) { - Rendering::CameraPostProcessStack passes; + Rendering::FullscreenPassStack passes; passes.reserve(values.size()); for (const Math::Vector4& value : values) { - passes.push_back(Rendering::CameraPostProcessPassDesc::MakeColorScale(value)); + passes.push_back(Rendering::FullscreenPassDesc::MakeColorScale(value)); } return passes; } -size_t FindFirstColorScalePassIndex(const Rendering::CameraPostProcessStack& passes) { +size_t FindFirstColorScalePassIndex(const Rendering::FullscreenPassStack& passes) { for (size_t index = 0; index < passes.size(); ++index) { - if (passes[index].type == Rendering::CameraPostProcessPassType::ColorScale) { + if (passes[index].type == Rendering::FullscreenPassType::ColorScale) { return index; } } @@ -79,22 +79,22 @@ size_t FindFirstColorScalePassIndex(const Rendering::CameraPostProcessStack& pas } // namespace -void CameraComponent::SetPostProcessPasses(const Rendering::CameraPostProcessStack& values) { +void CameraComponent::SetPostProcessPasses(const Rendering::FullscreenPassStack& values) { m_postProcessPasses = values; - for (const Rendering::CameraPostProcessPassDesc& pass : m_postProcessPasses) { - if (pass.type == Rendering::CameraPostProcessPassType::ColorScale) { + for (const Rendering::FullscreenPassDesc& pass : m_postProcessPasses) { + if (pass.type == Rendering::FullscreenPassType::ColorScale) { m_colorScalePostProcessDefaultScale = pass.colorScale.scale; break; } } } -void CameraComponent::AddPostProcessPass(const Rendering::CameraPostProcessPassDesc& value) { +void CameraComponent::AddPostProcessPass(const Rendering::FullscreenPassDesc& value) { if (!value.IsValid()) { return; } - if (value.type == Rendering::CameraPostProcessPassType::ColorScale && + if (value.type == Rendering::FullscreenPassType::ColorScale && FindFirstColorScalePassIndex(m_postProcessPasses) == m_postProcessPasses.size()) { m_colorScalePostProcessDefaultScale = value.colorScale.scale; } @@ -110,7 +110,7 @@ void CameraComponent::SetColorScalePostProcessEnabled(bool value) { if (value) { if (!IsColorScalePostProcessEnabled()) { m_postProcessPasses.push_back( - Rendering::CameraPostProcessPassDesc::MakeColorScale( + Rendering::FullscreenPassDesc::MakeColorScale( m_colorScalePostProcessDefaultScale)); } return; @@ -137,8 +137,8 @@ void CameraComponent::SetColorScalePostProcessScale(const Math::Vector4& value) std::vector CameraComponent::GetColorScalePostProcessPasses() const { std::vector values; values.reserve(m_postProcessPasses.size()); - for (const Rendering::CameraPostProcessPassDesc& pass : m_postProcessPasses) { - if (pass.type == Rendering::CameraPostProcessPassType::ColorScale) { + for (const Rendering::FullscreenPassDesc& pass : m_postProcessPasses) { + if (pass.type == Rendering::FullscreenPassType::ColorScale) { values.push_back(pass.colorScale.scale); } } @@ -157,7 +157,7 @@ void CameraComponent::AddColorScalePostProcessPass(const Math::Vector4& value) { m_colorScalePostProcessDefaultScale = value; } - m_postProcessPasses.push_back(Rendering::CameraPostProcessPassDesc::MakeColorScale(value)); + m_postProcessPasses.push_back(Rendering::FullscreenPassDesc::MakeColorScale(value)); } void CameraComponent::ClearColorScalePostProcessPasses() { @@ -165,8 +165,8 @@ void CameraComponent::ClearColorScalePostProcessPasses() { std::remove_if( m_postProcessPasses.begin(), m_postProcessPasses.end(), - [](const Rendering::CameraPostProcessPassDesc& pass) { - return pass.type == Rendering::CameraPostProcessPassType::ColorScale; + [](const Rendering::FullscreenPassDesc& pass) { + return pass.type == Rendering::FullscreenPassType::ColorScale; }), m_postProcessPasses.end()); } @@ -288,10 +288,10 @@ void CameraComponent::Serialize(std::ostream& os) const { os << "finalColorOverrideScale=" << EncodeVector4(m_finalColorOverrides.finalColorScale) << ";"; os << "postProcessPassCount=" << m_postProcessPasses.size() << ";"; for (size_t index = 0; index < m_postProcessPasses.size(); ++index) { - const Rendering::CameraPostProcessPassDesc& pass = m_postProcessPasses[index]; + const Rendering::FullscreenPassDesc& pass = m_postProcessPasses[index]; os << "postProcessPass" << index << "Type=" << static_cast(pass.type) << ";"; switch (pass.type) { - case Rendering::CameraPostProcessPassType::ColorScale: + case Rendering::FullscreenPassType::ColorScale: os << "postProcessPass" << index << "ColorScale=" << EncodeVector4(pass.colorScale.scale) << ";"; break; @@ -313,7 +313,7 @@ void CameraComponent::Deserialize(std::istream& is) { std::string pendingSkyboxMaterialPath; Resources::AssetRef pendingSkyboxMaterialRef; size_t postProcessPassCount = 0; - Rendering::CameraPostProcessStack deserializedPostProcessPasses; + Rendering::FullscreenPassStack deserializedPostProcessPasses; bool legacyColorScaleEnabled = false; size_t colorScalePassCount = 0; std::vector deserializedColorScalePasses; @@ -420,10 +420,10 @@ void CameraComponent::Deserialize(std::istream& is) { deserializedPostProcessPasses.resize(index + 1); } - Rendering::CameraPostProcessPassDesc& pass = deserializedPostProcessPasses[index]; + Rendering::FullscreenPassDesc& pass = deserializedPostProcessPasses[index]; const std::string property = key.substr(propertyPos); if (property == "Type") { - pass.type = static_cast(std::stoi(value)); + pass.type = static_cast(std::stoi(value)); } else if (property == "ColorScale") { TryParseVector4(value, pass.colorScale.scale); } diff --git a/engine/src/Rendering/Planning/Internal/CameraFrameFullscreenStagePlanner.cpp b/engine/src/Rendering/Planning/Internal/CameraFrameFullscreenStagePlanner.cpp index 085d10c7..46ac049a 100644 --- a/engine/src/Rendering/Planning/Internal/CameraFrameFullscreenStagePlanner.cpp +++ b/engine/src/Rendering/Planning/Internal/CameraFrameFullscreenStagePlanner.cpp @@ -4,8 +4,8 @@ #include "Debug/Logger.h" #include -#include #include +#include namespace XCEngine { namespace Rendering { @@ -31,7 +31,7 @@ void PlanCameraFrameFullscreenStages(CameraFramePlan& plan) { } std::unique_ptr postProcessSequence = - BuildCameraPostProcessPassSequence(plan.request.camera->GetPostProcessPasses()); + BuildFullscreenPassSequence(plan.request.camera->GetPostProcessPasses()); std::unique_ptr finalOutputSequence = BuildFinalColorPassSequence(plan.finalColorPolicy); diff --git a/engine/src/Scripting/Mono/MonoScriptRuntime.cpp b/engine/src/Scripting/Mono/MonoScriptRuntime.cpp index 2cd776bc..878d0609 100644 --- a/engine/src/Scripting/Mono/MonoScriptRuntime.cpp +++ b/engine/src/Scripting/Mono/MonoScriptRuntime.cpp @@ -13,7 +13,7 @@ #include "Rendering/Execution/CameraFramePlan.h" #include "Rendering/Internal/RenderPipelineFactory.h" #include "Rendering/Passes/BuiltinColorScalePostProcessPass.h" -#include "Rendering/Planning/CameraPostProcessDesc.h" +#include "Rendering/Planning/FullscreenPassDesc.h" #include "Rendering/Pipelines/NativeSceneRecorder.h" #include "Rendering/Pipelines/ManagedScriptableRenderPipelineAsset.h" #include "Rendering/RenderPipelineStageGraphContract.h" @@ -94,7 +94,7 @@ struct ManagedScriptableRenderContextState { Rendering::CameraFrameStage stage = Rendering::CameraFrameStage::MainScene; const Rendering::RenderPipelineStageRenderGraphContext* graphContext = nullptr; Rendering::Pipelines::NativeSceneRecorder* sceneRecorder = nullptr; - std::vector queuedFullscreenPasses = {}; + std::vector queuedFullscreenPasses = {}; }; struct ManagedScriptableRenderPipelineCameraRequestContextState { @@ -326,14 +326,14 @@ bool SupportsManagedRenderPipelineStageGraphRecording( Rendering::RenderPass* ConfigureManagedFullscreenPass( std::vector>& passPool, size_t passIndex, - const Rendering::CameraPostProcessPassDesc& passDesc) { + const Rendering::FullscreenPassDesc& passDesc) { while (passPool.size() <= passIndex) { passPool.push_back(nullptr); } std::unique_ptr& passSlot = passPool[passIndex]; switch (passDesc.type) { - case Rendering::CameraPostProcessPassType::ColorScale: { + case Rendering::FullscreenPassType::ColorScale: { Rendering::Passes::BuiltinColorScalePostProcessPass* colorScalePass = dynamic_cast( passSlot.get()); @@ -2661,14 +2661,14 @@ InternalCall_Rendering_ScriptableRenderContext_RecordFullscreenPass( return 0; } - Rendering::CameraPostProcessPassDesc passDesc = {}; - switch (static_cast(passType)) { - case Rendering::CameraPostProcessPassType::ColorScale: + Rendering::FullscreenPassDesc passDesc = {}; + switch (static_cast(passType)) { + case Rendering::FullscreenPassType::ColorScale: if (vectorPayload == nullptr) { return 0; } passDesc = - Rendering::CameraPostProcessPassDesc::MakeColorScale(*vectorPayload); + Rendering::FullscreenPassDesc::MakeColorScale(*vectorPayload); break; default: return 0; diff --git a/tests/Components/test_camera_light_component.cpp b/tests/Components/test_camera_light_component.cpp index bd0784dd..e4eadcd6 100644 --- a/tests/Components/test_camera_light_component.cpp +++ b/tests/Components/test_camera_light_component.cpp @@ -86,9 +86,9 @@ TEST(CameraComponent_Test, SerializeRoundTripPreservesViewportAndClearState) { finalColorOverrides.finalColorScale = XCEngine::Math::Vector4(1.0f, 0.9f, 0.8f, 1.0f); source.SetFinalColorOverrides(finalColorOverrides); source.SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(0.55f, 0.8f, 1.2f, 1.0f)), - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.95f, 0.75f, 1.0f)) }); @@ -125,10 +125,10 @@ TEST(CameraComponent_Test, SerializeRoundTripPreservesViewportAndClearState) { ASSERT_EQ(target.GetPostProcessPasses().size(), 2u); EXPECT_EQ( target.GetPostProcessPasses()[0].type, - XCEngine::Rendering::CameraPostProcessPassType::ColorScale); + XCEngine::Rendering::FullscreenPassType::ColorScale); EXPECT_EQ( target.GetPostProcessPasses()[1].type, - XCEngine::Rendering::CameraPostProcessPassType::ColorScale); + XCEngine::Rendering::FullscreenPassType::ColorScale); EXPECT_TRUE(target.IsColorScalePostProcessEnabled()); EXPECT_FLOAT_EQ(target.GetColorScalePostProcessScale().x, 0.55f); EXPECT_FLOAT_EQ(target.GetColorScalePostProcessScale().y, 0.8f); @@ -156,7 +156,7 @@ TEST(CameraComponent_Test, DeserializeLegacyColorScalePostProcessFields) { ASSERT_EQ(camera.GetPostProcessPasses().size(), 2u); EXPECT_EQ( camera.GetPostProcessPasses()[0].type, - XCEngine::Rendering::CameraPostProcessPassType::ColorScale); + XCEngine::Rendering::FullscreenPassType::ColorScale); EXPECT_TRUE(camera.IsColorScalePostProcessEnabled()); EXPECT_FLOAT_EQ(camera.GetColorScalePostProcessPasses()[0].x, 0.55f); EXPECT_FLOAT_EQ(camera.GetColorScalePostProcessPasses()[1].y, 0.95f); diff --git a/tests/Rendering/integration/camera_post_process_scene/main.cpp b/tests/Rendering/integration/camera_post_process_scene/main.cpp index c7e9885a..529182af 100644 --- a/tests/Rendering/integration/camera_post_process_scene/main.cpp +++ b/tests/Rendering/integration/camera_post_process_scene/main.cpp @@ -243,9 +243,9 @@ void CameraPostProcessSceneTest::BuildScene() { mCamera->SetFarClipPlane(20.0f); mCamera->SetClearColor(XCEngine::Math::Color(0.06f, 0.08f, 0.12f, 1.0f)); mCamera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( Vector4(1.0f, 0.75f, 0.75f, 1.0f)), - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( Vector4(0.55f, 0.95f, 1.0f, 1.0f)) }); diff --git a/tests/Rendering/unit/test_camera_scene_renderer.cpp b/tests/Rendering/unit/test_camera_scene_renderer.cpp index e3e6a281..ea99dc61 100644 --- a/tests/Rendering/unit/test_camera_scene_renderer.cpp +++ b/tests/Rendering/unit/test_camera_scene_renderer.cpp @@ -3344,9 +3344,9 @@ TEST(SceneRenderer_Test, BuildsCameraColorScalePostProcessRequestFromCameraPassS camera->SetDepth(2.0f); camera->SetViewportRect(XCEngine::Math::Rect(0.25f, 0.125f, 0.5f, 0.625f)); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.75f, 0.75f, 1.0f)), - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(0.55f, 0.95f, 1.1f, 1.0f)) }); @@ -3476,7 +3476,7 @@ TEST(SceneRenderer_Test, UsesPipelineAssetCameraFramePlanConfigurationHook) { camera->SetPrimary(true); camera->SetDepth(2.0f); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.75f, 0.75f, 1.0f)) }); @@ -3646,7 +3646,7 @@ TEST(SceneRenderer_Test, RoutesPostProcessIntoIntermediateSurfaceBeforeFinalOutp camera->SetDepth(2.0f); camera->SetViewportRect(XCEngine::Math::Rect(0.25f, 0.125f, 0.5f, 0.625f)); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.75f, 0.75f, 1.0f)) }); @@ -3754,7 +3754,7 @@ TEST(SceneRenderer_Test, ReturnedPlansOwnGeneratedFullscreenSequences) { camera->SetPrimary(true); camera->SetDepth(2.0f); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.75f, 0.75f, 1.0f)) }); @@ -3821,7 +3821,7 @@ TEST(SceneRenderer_Test, DoesNotBuildFullscreenStagesForMultisampledMainSceneSur camera->SetPrimary(true); camera->SetDepth(2.0f); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.75f, 0.75f, 1.0f)) }); @@ -3877,7 +3877,7 @@ TEST(SceneRenderer_Test, KeepsMainSceneGraphManagedWhenPostProcessIsEnabledAcros camera->SetPrimary(true); camera->SetDepth(2.0f); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.9f, 0.8f, 1.0f)) }); @@ -3957,7 +3957,7 @@ TEST(SceneRenderer_Test, KeepsPostProcessOutputGraphManagedWhenFinalOutputIsEnab camera->SetPrimary(true); camera->SetDepth(2.0f); camera->SetPostProcessPasses({ - XCEngine::Rendering::CameraPostProcessPassDesc::MakeColorScale( + XCEngine::Rendering::FullscreenPassDesc::MakeColorScale( XCEngine::Math::Vector4(1.0f, 0.9f, 0.8f, 1.0f)) });