Files
XCEngine/managed/XCEngine.RenderPipelines.Universal/Rendering/Universal/RendererBlock.cs

42 lines
1.2 KiB
C#

using XCEngine.Rendering;
namespace XCEngine.Rendering.Universal
{
internal enum RendererBlock
{
ShadowCaster = 0,
DepthPrepass = 1,
MainOpaque = 2,
MainSkybox = 3,
MainTransparent = 4,
PostProcess = 5,
FinalOutput = 6,
Count = 7
}
internal static class RendererBlockUtility
{
public static CameraFrameStage GetStage(
RendererBlock block)
{
switch (block)
{
case RendererBlock.ShadowCaster:
return CameraFrameStage.ShadowCaster;
case RendererBlock.DepthPrepass:
return CameraFrameStage.DepthOnly;
case RendererBlock.MainOpaque:
case RendererBlock.MainSkybox:
case RendererBlock.MainTransparent:
return CameraFrameStage.MainScene;
case RendererBlock.PostProcess:
return CameraFrameStage.PostProcess;
case RendererBlock.FinalOutput:
return CameraFrameStage.FinalOutput;
default:
return CameraFrameStage.MainScene;
}
}
}
}