feat(srp): formalize scene recording and draw entrypoints

This commit is contained in:
2026-04-20 18:54:04 +08:00
parent b521616e27
commit 3df87e941c
20 changed files with 1054 additions and 181 deletions

View File

@@ -1,5 +1,6 @@
#pragma once
#include <XCEngine/Rendering/Execution/DrawSettings.h>
#include <XCEngine/Rendering/Execution/FrameExecutionContext.h>
#include <XCEngine/Rendering/RenderPass.h>
#include <XCEngine/Rendering/SceneRenderFeatureHost.h>
@@ -22,6 +23,9 @@ public:
virtual bool ExecuteScenePhase(
const RenderPassContext& context,
ScenePhase scenePhase) = 0;
virtual bool ExecuteSceneDrawSettings(
const RenderPassContext& context,
const DrawSettings& drawSettings) = 0;
};
} // namespace Rendering

View File

@@ -70,6 +70,9 @@ public:
bool ExecuteScenePhase(
const RenderPassContext& context,
ScenePhase scenePhase) override;
bool ExecuteSceneDrawSettings(
const RenderPassContext& context,
const DrawSettings& drawSettings) override;
void Shutdown() override;
bool SupportsStageRenderGraph(CameraFrameStage stage) const override;
bool RecordStageRenderGraph(

View File

@@ -1,5 +1,6 @@
#pragma once
#include <XCEngine/Rendering/Execution/DrawSettings.h>
#include <XCEngine/Rendering/Execution/ScenePhase.h>
#include <XCEngine/Rendering/Execution/SceneRenderInjectionPoint.h>
#include <XCEngine/Rendering/Graph/RenderGraphTypes.h>
@@ -27,6 +28,7 @@ public:
bool RecordDefaultScene();
bool RecordScenePhase(ScenePhase scenePhase);
bool RecordSceneDrawSettings(const DrawSettings& drawSettings);
bool RecordInjectionPoint(SceneRenderInjectionPoint injectionPoint);
private: