Switch scene viewport flow to frame plans

This commit is contained in:
2026-04-14 00:40:11 +08:00
parent 21b0530f7b
commit e6950fa704
3 changed files with 22 additions and 22 deletions

View File

@@ -591,9 +591,9 @@ private:
SceneViewportRenderState sceneState = {};
BuildSceneViewportRenderState(entry, context, sceneState);
std::vector<Rendering::CameraRenderRequest> requests =
m_sceneRenderer->BuildRenderRequests(*scene, m_sceneViewCamera.camera, renderContext, surface);
if (requests.empty()) {
std::vector<Rendering::CameraFramePlan> plans =
m_sceneRenderer->BuildFramePlans(*scene, m_sceneViewCamera.camera, renderContext, surface);
if (plans.empty()) {
ApplyViewportRenderFailure(
entry,
renderContext,
@@ -602,9 +602,9 @@ private:
return false;
}
ApplySceneViewportRenderPlan(entry.renderTargets, sceneState.renderPlan, requests[0]);
ApplySceneViewportRenderPlan(entry.renderTargets, sceneState.renderPlan, plans[0]);
if (!m_sceneRenderer->Render(requests)) {
if (!m_sceneRenderer->Render(plans)) {
ApplyViewportRenderFailure(
entry,
renderContext,
@@ -613,7 +613,7 @@ private:
return false;
}
MarkSceneViewportRenderSuccess(entry.renderTargets, requests[0]);
MarkSceneViewportRenderSuccess(entry.renderTargets, plans[0]);
const Core::uint32 pendingAsyncLoads = Resources::ResourceManager::Get().GetAsyncPendingCount();
context.GetSceneManager().NotifySceneViewportFramePresented(pendingAsyncLoads);
if (entry.statusText.empty()) {