42 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|