63 lines
1.6 KiB
C#
63 lines
1.6 KiB
C#
using XCEngine;
|
|
using XCEngine.Rendering;
|
|
|
|
namespace XCEngine.Rendering.Universal
|
|
{
|
|
public sealed class RendererRecordingContext
|
|
{
|
|
private readonly ScriptableRenderContext m_renderContext;
|
|
private readonly RenderingData m_renderingData;
|
|
|
|
internal RendererRecordingContext(
|
|
CameraFrameStage stage)
|
|
: this(
|
|
stage,
|
|
-1)
|
|
{
|
|
}
|
|
|
|
internal RendererRecordingContext(
|
|
CameraFrameStage stage,
|
|
int rendererIndex)
|
|
: this(
|
|
null,
|
|
new RenderingData(
|
|
stage,
|
|
rendererIndex))
|
|
{
|
|
}
|
|
|
|
internal RendererRecordingContext(
|
|
ScriptableRenderContext renderContext)
|
|
: this(
|
|
renderContext,
|
|
renderContext != null
|
|
? new RenderingData(renderContext)
|
|
: new RenderingData(CameraFrameStage.MainScene))
|
|
{
|
|
}
|
|
|
|
private RendererRecordingContext(
|
|
ScriptableRenderContext renderContext,
|
|
RenderingData renderingData)
|
|
{
|
|
m_renderContext = renderContext;
|
|
m_renderingData =
|
|
renderingData ??
|
|
new RenderingData(CameraFrameStage.MainScene);
|
|
}
|
|
|
|
public CameraFrameStage stage =>
|
|
m_renderingData.stage;
|
|
|
|
public RenderingData renderingData =>
|
|
m_renderingData;
|
|
|
|
public int rendererIndex =>
|
|
m_renderingData.rendererIndex;
|
|
|
|
internal ScriptableRenderContext renderContext =>
|
|
m_renderContext;
|
|
}
|
|
}
|