refactor(rendering): centralize stage graph output policies

This commit is contained in:
2026-04-15 16:42:36 +08:00
parent c853f67c56
commit bf0b81d034
5 changed files with 48 additions and 12 deletions

View File

@@ -45,6 +45,11 @@ enum class CameraFrameStageSharedSurfaceRole : uint8_t {
FinalComposited
};
enum class CameraFrameStagePublishedDepthAliasRole : uint8_t {
None,
MainDirectionalShadow
};
struct CameraFrameStageInfo {
CameraFrameStage stage = CameraFrameStage::MainScene;
const char* name = "";
@@ -198,6 +203,16 @@ GetCameraFrameStageSharedOutputSurfaceRole(CameraFrameStage stage) {
}
}
inline constexpr CameraFrameStagePublishedDepthAliasRole
GetCameraFrameStagePublishedDepthAliasRole(CameraFrameStage stage) {
switch (stage) {
case CameraFrameStage::ShadowCaster:
return CameraFrameStagePublishedDepthAliasRole::MainDirectionalShadow;
default:
return CameraFrameStagePublishedDepthAliasRole::None;
}
}
inline constexpr bool DoesCameraFrameStageFallbackUseColorOnlySurfaceAccess(
CameraFrameStage stage) {
return IsCameraFrameFullscreenSequenceStage(stage);