refactor(srp): collapse universal pipeline wrappers

This commit is contained in:
2026-04-19 15:33:03 +08:00
parent 237a628e2a
commit dc13b56cf3
9 changed files with 127 additions and 96 deletions

View File

@@ -0,0 +1,46 @@
using XCEngine;
using XCEngine.Rendering;
namespace XCEngine.Rendering.Universal
{
internal sealed class UniversalRenderPipeline
: ScriptableRenderPipeline
{
private readonly ScriptableRendererData m_rendererData;
private ScriptableRenderer m_renderer;
public UniversalRenderPipeline(
ScriptableRendererData rendererData)
{
m_rendererData = rendererData;
}
protected override bool SupportsStageRenderGraph(
CameraFrameStage stage)
{
ScriptableRenderer renderer = GetOrCreateRenderer();
return renderer != null &&
renderer.SupportsStageRenderGraph(stage);
}
protected override bool RecordStageRenderGraph(
ScriptableRenderContext context)
{
ScriptableRenderer renderer = GetOrCreateRenderer();
return renderer != null &&
renderer.RecordStageRenderGraph(context);
}
private ScriptableRenderer GetOrCreateRenderer()
{
if (m_renderer == null &&
m_rendererData != null)
{
m_renderer =
m_rendererData.CreateRendererInstance();
}
return m_renderer;
}
}
}