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

@@ -725,6 +725,40 @@ namespace Gameplay
}
}
public abstract class ProbeRendererPipeline
: ScriptableRenderPipeline
{
private ScriptableRenderer m_renderer;
protected abstract ScriptableRenderer CreateRenderer();
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_renderer = CreateRenderer();
}
return m_renderer;
}
}
public sealed class LegacyRenderPipelineApiProbeAsset : RenderPipelineAsset
{
}
@@ -796,16 +830,35 @@ namespace Gameplay
}
}
internal sealed class ManagedCameraRequestConfiguredRenderPipelineProbe
: ProbeRendererPipeline
{
protected override ScriptableRenderer CreateRenderer()
{
return new ProbeSceneRenderer();
}
}
public sealed class ManagedCameraRequestConfiguredRenderPipelineProbeAsset
: RendererBackedRenderPipelineAsset
: ScriptableRenderPipelineAsset
{
private readonly ManagedCameraRequestConfiguredRendererData
m_rendererData =
new ManagedCameraRequestConfiguredRendererData();
protected override ScriptableRendererData GetRendererData()
protected override ScriptableRenderPipeline CreatePipeline()
{
return m_rendererData;
return new ManagedCameraRequestConfiguredRenderPipelineProbe();
}
protected override void ConfigureCameraRenderRequest(
CameraRenderRequestContext context)
{
if (context != null &&
context.HasDirectionalShadow())
{
context.ClearDirectionalShadow();
}
}
}
@@ -857,7 +910,7 @@ namespace Gameplay
}
public sealed class ManagedRenderPipelineProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
public static int SupportsStageCallCount;
public static int RecordStageCallCount;
@@ -883,7 +936,7 @@ namespace Gameplay
}
public sealed class ManagedPostProcessRenderPipelineProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
protected override ScriptableRenderer CreateRenderer()
{
@@ -894,7 +947,7 @@ namespace Gameplay
}
public sealed class ManagedUniversalRenderPipelineProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
public static int SupportsMainSceneCallCount;
public static int SupportsPostProcessCallCount;
@@ -961,7 +1014,7 @@ namespace Gameplay
}
public sealed class ManagedPlannedFullscreenRenderPipelineProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
protected override ScriptableRenderer CreateRenderer()
{
@@ -970,7 +1023,7 @@ namespace Gameplay
}
public sealed class ManagedRenderContextCameraDataProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
protected override ScriptableRenderer CreateRenderer()
{
@@ -979,7 +1032,7 @@ namespace Gameplay
}
public sealed class ManagedRenderContextStageColorDataProbe
: RendererBackedRenderPipeline
: ProbeRendererPipeline
{
protected override ScriptableRenderer CreateRenderer()
{