refactor(srp): move core stage defaults into universal renderer

This commit is contained in:
2026-04-21 15:44:19 +08:00
parent 6a538d0d2e
commit f2be5627be
14 changed files with 408 additions and 111 deletions

View File

@@ -16,6 +16,11 @@ struct CameraFrameFullscreenStagePlan {
CameraFrameColorSource source = CameraFrameColorSource::ExplicitSurface;
};
struct CameraFrameStandaloneStagePlan {
bool requested = false;
bool explicitlyConfigured = false;
};
struct CameraFrameColorChainPlan {
bool usesGraphManagedSceneColor = false;
CameraFrameFullscreenStagePlan postProcess = {};
@@ -35,6 +40,7 @@ struct CameraFramePlan {
RenderPassSequence* preScenePasses = nullptr;
RenderPassSequence* postScenePasses = nullptr;
RenderPassSequence* overlayPasses = nullptr;
CameraFrameStandaloneStagePlan shadowCasterStage = {};
CameraFrameColorChainPlan colorChain = {};
RenderSurface graphManagedSceneSurface = {};
@@ -64,8 +70,14 @@ struct CameraFramePlan {
void ClearFullscreenStage(
CameraFrameStage stage,
bool explicitlyConfigured = false);
bool RequestShadowCasterStage(
bool explicitlyConfigured = false);
void ClearShadowCasterStage(
bool explicitlyConfigured = false);
bool HasExplicitFullscreenStageConfiguration(
CameraFrameStage stage) const;
bool HasExplicitShadowCasterStageConfiguration() const;
bool IsShadowCasterStageRequested() const;
bool IsPostProcessStageValid() const;
bool IsFinalOutputStageValid() const;
bool HasFrameStage(CameraFrameStage stage) const;