refactor(rendering): centralize stage graph output policies
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user