refactor(rendering): centralize fullscreen stage surface resolution

This commit is contained in:
2026-04-15 15:20:59 +08:00
parent 795eaf80df
commit 1ad3bfc702
4 changed files with 78 additions and 46 deletions

View File

@@ -107,6 +107,12 @@ bool CameraFramePlan::HasFrameStage(CameraFrameStage stage) const {
}
if (IsCameraFrameSequenceStage(stage)) {
if (const FullscreenPassRenderRequest* fullscreenRequest =
GetFullscreenPassRequest(stage);
fullscreenRequest != nullptr) {
return fullscreenRequest->IsRequested();
}
return GetPassSequence(stage) != nullptr;
}
@@ -143,6 +149,18 @@ RenderPassSequence* CameraFramePlan::GetPassSequence(CameraFrameStage stage) con
}
}
const FullscreenPassRenderRequest* CameraFramePlan::GetFullscreenPassRequest(
CameraFrameStage stage) const {
switch (stage) {
case CameraFrameStage::PostProcess:
return &postProcess;
case CameraFrameStage::FinalOutput:
return &finalOutput;
default:
return nullptr;
}
}
const ScenePassRenderRequest* CameraFramePlan::GetScenePassRequest(CameraFrameStage stage) const {
switch (GetCameraFrameStageRequestKind(stage)) {
case CameraFrameStageRequestKind::ShadowCaster: