Migrate scene renderer callers to frame plans

This commit is contained in:
2026-04-14 00:52:43 +08:00
parent 72914b3865
commit b8d29e39f6
5 changed files with 196 additions and 194 deletions

View File

@@ -31,6 +31,7 @@ public:
RenderPipeline* GetPipeline() const { return m_cameraRenderer.GetPipeline(); }
const RenderPipelineAsset* GetPipelineAsset() const { return m_cameraRenderer.GetPipelineAsset(); }
// Legacy compatibility adapters retained for callers that still consume CameraRenderRequest.
std::vector<CameraRenderRequest> BuildRenderRequests(
const Components::Scene& scene,
Components::CameraComponent* overrideCamera,
@@ -42,6 +43,7 @@ public:
const RenderContext& context,
const RenderSurface& surface);
// Legacy compatibility adapters retained for callers that still submit CameraRenderRequest.
bool Render(const CameraRenderRequest& request);
bool Render(const std::vector<CameraRenderRequest>& requests);
bool Render(const CameraFramePlan& plan);
@@ -53,7 +55,7 @@ public:
const RenderSurface& surface);
private:
std::vector<CameraFramePlan> CreateFramePlansFromRequests(
std::vector<CameraFramePlan> CreateFramePlansFromLegacyRequests(
const std::vector<CameraRenderRequest>& requests) const;
void PrepareOwnedFullscreenStageState(size_t requestCount);
void ResolveCameraFinalColorPolicies(

View File

@@ -119,7 +119,7 @@ std::vector<CameraFramePlan> SceneRenderer::BuildFramePlans(
const RenderSurface& surface) {
const std::vector<CameraRenderRequest> requests =
m_requestPlanner.BuildRequests(scene, overrideCamera, context, surface);
std::vector<CameraFramePlan> plans = CreateFramePlansFromRequests(requests);
std::vector<CameraFramePlan> plans = CreateFramePlansFromLegacyRequests(requests);
ResolveCameraFinalColorPolicies(plans);
AttachFullscreenStageRequests(context, plans);
return plans;
@@ -130,7 +130,7 @@ bool SceneRenderer::Render(const CameraRenderRequest& request) {
}
bool SceneRenderer::Render(const std::vector<CameraRenderRequest>& requests) {
std::vector<CameraFramePlan> plans = CreateFramePlansFromRequests(requests);
std::vector<CameraFramePlan> plans = CreateFramePlansFromLegacyRequests(requests);
return Render(plans);
}
@@ -184,7 +184,7 @@ bool SceneRenderer::Render(
return Render(BuildFramePlans(scene, overrideCamera, context, surface));
}
std::vector<CameraFramePlan> SceneRenderer::CreateFramePlansFromRequests(
std::vector<CameraFramePlan> SceneRenderer::CreateFramePlansFromLegacyRequests(
const std::vector<CameraRenderRequest>& requests) const {
std::vector<CameraFramePlan> plans = {};
plans.reserve(requests.size());