From 578f5dd99ca7dcdc395e5830bd4ed4e694ac6beb Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Sun, 5 Apr 2026 21:33:58 +0800 Subject: [PATCH] Group rendering execution and planning files --- .../src/Viewport/ViewportHostRenderFlowUtils.h | 2 +- editor/src/Viewport/ViewportHostService.h | 2 +- engine/CMakeLists.txt | 16 ++++++++-------- .../Rendering/{ => Execution}/CameraRenderer.h | 2 +- .../Rendering/{ => Execution}/SceneRenderer.h | 6 +++--- .../{ => Planning}/CameraRenderRequest.h | 0 .../{ => Planning}/SceneRenderRequestPlanner.h | 2 +- .../{ => Planning}/SceneRenderRequestUtils.h | 2 +- .../Rendering/DirectionalShadowSurfaceCache.cpp | 2 +- .../Rendering/{ => Execution}/CameraRenderer.cpp | 2 +- .../Rendering/{ => Execution}/SceneRenderer.cpp | 4 ++-- .../{ => Planning}/SceneRenderRequestPlanner.cpp | 4 ++-- .../integration/backpack_lit_scene/main.cpp | 8 +------- .../integration/backpack_scene/main.cpp | 8 +------- .../integration/camera_stack_scene/main.cpp | 8 +------- .../integration/cull_material_scene/main.cpp | 2 +- .../integration/depth_sort_scene/main.cpp | 2 +- .../directional_shadow_scene/main.cpp | 2 +- .../integration/material_state_scene/main.cpp | 2 +- .../integration/multi_light_scene/main.cpp | 2 +- .../integration/object_id_scene/main.cpp | 4 ++-- .../integration/offscreen_scene/main.cpp | 2 +- .../integration/spot_light_scene/main.cpp | 2 +- .../integration/textured_quad_scene/main.cpp | 2 +- .../transparent_material_scene/main.cpp | 2 +- tests/Rendering/integration/unlit_scene/main.cpp | 2 +- .../unit/test_camera_scene_renderer.cpp | 4 ++-- .../unit/test_scene_render_request_planner.cpp | 2 +- .../unit/test_scene_render_request_utils.cpp | 2 +- 29 files changed, 41 insertions(+), 59 deletions(-) rename engine/include/XCEngine/Rendering/{ => Execution}/CameraRenderer.h (97%) rename engine/include/XCEngine/Rendering/{ => Execution}/SceneRenderer.h (88%) rename engine/include/XCEngine/Rendering/{ => Planning}/CameraRenderRequest.h (100%) rename engine/include/XCEngine/Rendering/{ => Planning}/SceneRenderRequestPlanner.h (91%) rename engine/include/XCEngine/Rendering/{ => Planning}/SceneRenderRequestUtils.h (98%) rename engine/src/Rendering/{ => Execution}/CameraRenderer.cpp (99%) rename engine/src/Rendering/{ => Execution}/SceneRenderer.cpp (95%) rename engine/src/Rendering/{ => Planning}/SceneRenderRequestPlanner.cpp (99%) diff --git a/editor/src/Viewport/ViewportHostRenderFlowUtils.h b/editor/src/Viewport/ViewportHostRenderFlowUtils.h index 8eaad18b..479463bb 100644 --- a/editor/src/Viewport/ViewportHostRenderFlowUtils.h +++ b/editor/src/Viewport/ViewportHostRenderFlowUtils.h @@ -5,7 +5,7 @@ #include "ViewportHostRenderTargets.h" #include -#include +#include #include #include diff --git a/editor/src/Viewport/ViewportHostService.h b/editor/src/Viewport/ViewportHostService.h index bb0252d3..76425b0d 100644 --- a/editor/src/Viewport/ViewportHostService.h +++ b/editor/src/Viewport/ViewportHostService.h @@ -23,9 +23,9 @@ #include #include #include +#include #include #include -#include #include #include diff --git a/engine/CMakeLists.txt b/engine/CMakeLists.txt index a68a3aa3..a999d98c 100644 --- a/engine/CMakeLists.txt +++ b/engine/CMakeLists.txt @@ -428,14 +428,18 @@ add_library(XCEngine STATIC # Rendering ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderContext.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/CameraRenderRequest.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassTypes.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassMetadataUtils.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassLayoutUtils.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassContract.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Execution/CameraRenderer.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Execution/SceneRenderer.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/FrameData/RenderCameraData.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/FrameData/RenderSceneData.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/FrameData/VisibleRenderItem.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Planning/CameraRenderRequest.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Planning/SceneRenderRequestUtils.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Picking/ObjectIdCodec.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderMaterialResolve.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderMaterialStateUtils.h @@ -446,11 +450,7 @@ add_library(XCEngine STATIC ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderPipelineAsset.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderSurface.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderResourceCache.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/CameraRenderer.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/DirectionalShadowSurfaceCache.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/SceneRenderRequestPlanner.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/SceneRenderRequestUtils.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/SceneRenderer.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Passes/BuiltinDepthStylePassBase.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Passes/BuiltinDepthOnlyPass.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Passes/BuiltinShadowCasterPass.h @@ -458,7 +458,7 @@ add_library(XCEngine STATIC ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Passes/BuiltinInfiniteGridPass.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Passes/BuiltinObjectIdOutlinePass.h ${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/CameraRenderer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Execution/CameraRenderer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/DirectionalShadowSurfaceCache.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinDepthStylePassBase.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinDepthStylePassBaseResources.cpp @@ -472,8 +472,8 @@ add_library(XCEngine STATIC ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/RenderSceneExtractor.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/RenderSceneUtility.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/RenderResourceCache.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/SceneRenderRequestPlanner.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/SceneRenderer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Planning/SceneRenderRequestPlanner.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Execution/SceneRenderer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Pipelines/BuiltinForwardPipeline.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Pipelines/BuiltinForwardPipelineResources.cpp diff --git a/engine/include/XCEngine/Rendering/CameraRenderer.h b/engine/include/XCEngine/Rendering/Execution/CameraRenderer.h similarity index 97% rename from engine/include/XCEngine/Rendering/CameraRenderer.h rename to engine/include/XCEngine/Rendering/Execution/CameraRenderer.h index 9cb6e1d2..5ae5531d 100644 --- a/engine/include/XCEngine/Rendering/CameraRenderer.h +++ b/engine/include/XCEngine/Rendering/Execution/CameraRenderer.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/engine/include/XCEngine/Rendering/SceneRenderer.h b/engine/include/XCEngine/Rendering/Execution/SceneRenderer.h similarity index 88% rename from engine/include/XCEngine/Rendering/SceneRenderer.h rename to engine/include/XCEngine/Rendering/Execution/SceneRenderer.h index 49c8646c..fd6b03d1 100644 --- a/engine/include/XCEngine/Rendering/SceneRenderer.h +++ b/engine/include/XCEngine/Rendering/Execution/SceneRenderer.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include +#include +#include +#include #include diff --git a/engine/include/XCEngine/Rendering/CameraRenderRequest.h b/engine/include/XCEngine/Rendering/Planning/CameraRenderRequest.h similarity index 100% rename from engine/include/XCEngine/Rendering/CameraRenderRequest.h rename to engine/include/XCEngine/Rendering/Planning/CameraRenderRequest.h diff --git a/engine/include/XCEngine/Rendering/SceneRenderRequestPlanner.h b/engine/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h similarity index 91% rename from engine/include/XCEngine/Rendering/SceneRenderRequestPlanner.h rename to engine/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h index e48797f2..d1f3e559 100644 --- a/engine/include/XCEngine/Rendering/SceneRenderRequestPlanner.h +++ b/engine/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include diff --git a/engine/include/XCEngine/Rendering/SceneRenderRequestUtils.h b/engine/include/XCEngine/Rendering/Planning/SceneRenderRequestUtils.h similarity index 98% rename from engine/include/XCEngine/Rendering/SceneRenderRequestUtils.h rename to engine/include/XCEngine/Rendering/Planning/SceneRenderRequestUtils.h index e218b2a0..2355c54d 100644 --- a/engine/include/XCEngine/Rendering/SceneRenderRequestUtils.h +++ b/engine/include/XCEngine/Rendering/Planning/SceneRenderRequestUtils.h @@ -2,7 +2,7 @@ #include #include -#include +#include #include #include diff --git a/engine/src/Rendering/DirectionalShadowSurfaceCache.cpp b/engine/src/Rendering/DirectionalShadowSurfaceCache.cpp index 12642150..9712428c 100644 --- a/engine/src/Rendering/DirectionalShadowSurfaceCache.cpp +++ b/engine/src/Rendering/DirectionalShadowSurfaceCache.cpp @@ -1,6 +1,6 @@ #include "Rendering/DirectionalShadowSurfaceCache.h" -#include "Rendering/CameraRenderRequest.h" +#include "Rendering/Planning/CameraRenderRequest.h" #include "RHI/RHIDevice.h" #include "RHI/RHIResourceView.h" #include "RHI/RHITexture.h" diff --git a/engine/src/Rendering/CameraRenderer.cpp b/engine/src/Rendering/Execution/CameraRenderer.cpp similarity index 99% rename from engine/src/Rendering/CameraRenderer.cpp rename to engine/src/Rendering/Execution/CameraRenderer.cpp index c3ba9b52..4cc2d6fe 100644 --- a/engine/src/Rendering/CameraRenderer.cpp +++ b/engine/src/Rendering/Execution/CameraRenderer.cpp @@ -1,4 +1,4 @@ -#include "Rendering/CameraRenderer.h" +#include "Rendering/Execution/CameraRenderer.h" #include "Rendering/DirectionalShadowSurfaceCache.h" #include "Rendering/Passes/BuiltinDepthOnlyPass.h" diff --git a/engine/src/Rendering/SceneRenderer.cpp b/engine/src/Rendering/Execution/SceneRenderer.cpp similarity index 95% rename from engine/src/Rendering/SceneRenderer.cpp rename to engine/src/Rendering/Execution/SceneRenderer.cpp index 4df60fc2..521a50b6 100644 --- a/engine/src/Rendering/SceneRenderer.cpp +++ b/engine/src/Rendering/Execution/SceneRenderer.cpp @@ -1,5 +1,5 @@ -#include "Rendering/SceneRenderer.h" -#include "Rendering/SceneRenderRequestUtils.h" +#include "Rendering/Execution/SceneRenderer.h" +#include "Rendering/Planning/SceneRenderRequestUtils.h" namespace XCEngine { namespace Rendering { diff --git a/engine/src/Rendering/SceneRenderRequestPlanner.cpp b/engine/src/Rendering/Planning/SceneRenderRequestPlanner.cpp similarity index 99% rename from engine/src/Rendering/SceneRenderRequestPlanner.cpp rename to engine/src/Rendering/Planning/SceneRenderRequestPlanner.cpp index 7ec4b8ea..dbe313c6 100644 --- a/engine/src/Rendering/SceneRenderRequestPlanner.cpp +++ b/engine/src/Rendering/Planning/SceneRenderRequestPlanner.cpp @@ -1,4 +1,4 @@ -#include "Rendering/SceneRenderRequestPlanner.h" +#include "Rendering/Planning/SceneRenderRequestPlanner.h" #include "Components/GameObject.h" #include "Components/LightComponent.h" @@ -7,7 +7,7 @@ #include "Core/Math/Matrix4.h" #include "Core/Math/Quaternion.h" #include "Rendering/RenderSceneUtility.h" -#include "Rendering/SceneRenderRequestUtils.h" +#include "Rendering/Planning/SceneRenderRequestUtils.h" #include "Scene/Scene.h" diff --git a/tests/Rendering/integration/backpack_lit_scene/main.cpp b/tests/Rendering/integration/backpack_lit_scene/main.cpp index fc1d21cb..2c95332c 100644 --- a/tests/Rendering/integration/backpack_lit_scene/main.cpp +++ b/tests/Rendering/integration/backpack_lit_scene/main.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include #include @@ -156,12 +156,6 @@ void BackpackLitSceneTest::TearDown() { mScene.reset(); if (mMesh != nullptr) { - for (size_t materialIndex = 0; materialIndex < mMesh->GetMaterials().Size(); ++materialIndex) { - delete mMesh->GetMaterials()[materialIndex]; - } - for (size_t textureIndex = 0; textureIndex < mMesh->GetTextures().Size(); ++textureIndex) { - delete mMesh->GetTextures()[textureIndex]; - } delete mMesh; mMesh = nullptr; } diff --git a/tests/Rendering/integration/backpack_scene/main.cpp b/tests/Rendering/integration/backpack_scene/main.cpp index eef7b555..69da83dd 100644 --- a/tests/Rendering/integration/backpack_scene/main.cpp +++ b/tests/Rendering/integration/backpack_scene/main.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -157,12 +157,6 @@ void BackpackSceneTest::TearDown() { mScene.reset(); if (mMesh != nullptr) { - for (size_t materialIndex = 0; materialIndex < mMesh->GetMaterials().Size(); ++materialIndex) { - delete mMesh->GetMaterials()[materialIndex]; - } - for (size_t textureIndex = 0; textureIndex < mMesh->GetTextures().Size(); ++textureIndex) { - delete mMesh->GetTextures()[textureIndex]; - } delete mMesh; mMesh = nullptr; } diff --git a/tests/Rendering/integration/camera_stack_scene/main.cpp b/tests/Rendering/integration/camera_stack_scene/main.cpp index 43a60e96..a9f50876 100644 --- a/tests/Rendering/integration/camera_stack_scene/main.cpp +++ b/tests/Rendering/integration/camera_stack_scene/main.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include @@ -249,12 +249,6 @@ void CameraStackSceneTest::TearDown() { mQuadMesh = nullptr; if (mBackpackMesh != nullptr) { - for (size_t materialIndex = 0; materialIndex < mBackpackMesh->GetMaterials().Size(); ++materialIndex) { - delete mBackpackMesh->GetMaterials()[materialIndex]; - } - for (size_t textureIndex = 0; textureIndex < mBackpackMesh->GetTextures().Size(); ++textureIndex) { - delete mBackpackMesh->GetTextures()[textureIndex]; - } delete mBackpackMesh; mBackpackMesh = nullptr; } diff --git a/tests/Rendering/integration/cull_material_scene/main.cpp b/tests/Rendering/integration/cull_material_scene/main.cpp index 957c63c2..d54bf1c8 100644 --- a/tests/Rendering/integration/cull_material_scene/main.cpp +++ b/tests/Rendering/integration/cull_material_scene/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/depth_sort_scene/main.cpp b/tests/Rendering/integration/depth_sort_scene/main.cpp index 354e9afb..60dd64ae 100644 --- a/tests/Rendering/integration/depth_sort_scene/main.cpp +++ b/tests/Rendering/integration/depth_sort_scene/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/directional_shadow_scene/main.cpp b/tests/Rendering/integration/directional_shadow_scene/main.cpp index b493db99..c3ceb621 100644 --- a/tests/Rendering/integration/directional_shadow_scene/main.cpp +++ b/tests/Rendering/integration/directional_shadow_scene/main.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/material_state_scene/main.cpp b/tests/Rendering/integration/material_state_scene/main.cpp index 27739887..367738cf 100644 --- a/tests/Rendering/integration/material_state_scene/main.cpp +++ b/tests/Rendering/integration/material_state_scene/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/multi_light_scene/main.cpp b/tests/Rendering/integration/multi_light_scene/main.cpp index 5f3cbbe5..5def4bc5 100644 --- a/tests/Rendering/integration/multi_light_scene/main.cpp +++ b/tests/Rendering/integration/multi_light_scene/main.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/object_id_scene/main.cpp b/tests/Rendering/integration/object_id_scene/main.cpp index 7cdeb34b..31cc4680 100644 --- a/tests/Rendering/integration/object_id_scene/main.cpp +++ b/tests/Rendering/integration/object_id_scene/main.cpp @@ -12,8 +12,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/tests/Rendering/integration/offscreen_scene/main.cpp b/tests/Rendering/integration/offscreen_scene/main.cpp index fa0b4330..6e5de565 100644 --- a/tests/Rendering/integration/offscreen_scene/main.cpp +++ b/tests/Rendering/integration/offscreen_scene/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/spot_light_scene/main.cpp b/tests/Rendering/integration/spot_light_scene/main.cpp index ff1b261f..a73573d0 100644 --- a/tests/Rendering/integration/spot_light_scene/main.cpp +++ b/tests/Rendering/integration/spot_light_scene/main.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/textured_quad_scene/main.cpp b/tests/Rendering/integration/textured_quad_scene/main.cpp index e0c5bacd..5b9d5b14 100644 --- a/tests/Rendering/integration/textured_quad_scene/main.cpp +++ b/tests/Rendering/integration/textured_quad_scene/main.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/transparent_material_scene/main.cpp b/tests/Rendering/integration/transparent_material_scene/main.cpp index 56d87911..70c300b6 100644 --- a/tests/Rendering/integration/transparent_material_scene/main.cpp +++ b/tests/Rendering/integration/transparent_material_scene/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/integration/unlit_scene/main.cpp b/tests/Rendering/integration/unlit_scene/main.cpp index 899be514..15480472 100644 --- a/tests/Rendering/integration/unlit_scene/main.cpp +++ b/tests/Rendering/integration/unlit_scene/main.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/Rendering/unit/test_camera_scene_renderer.cpp b/tests/Rendering/unit/test_camera_scene_renderer.cpp index aacb22f7..86f37e1e 100644 --- a/tests/Rendering/unit/test_camera_scene_renderer.cpp +++ b/tests/Rendering/unit/test_camera_scene_renderer.cpp @@ -7,10 +7,10 @@ #include #include #include -#include +#include #include #include -#include +#include #include #include diff --git a/tests/Rendering/unit/test_scene_render_request_planner.cpp b/tests/Rendering/unit/test_scene_render_request_planner.cpp index db3d9764..4e2df8aa 100644 --- a/tests/Rendering/unit/test_scene_render_request_planner.cpp +++ b/tests/Rendering/unit/test_scene_render_request_planner.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include using namespace XCEngine::Components; diff --git a/tests/Rendering/unit/test_scene_render_request_utils.cpp b/tests/Rendering/unit/test_scene_render_request_utils.cpp index 7998d201..f61c4258 100644 --- a/tests/Rendering/unit/test_scene_render_request_utils.cpp +++ b/tests/Rendering/unit/test_scene_render_request_utils.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include #include