refactor(srp): close renderer-backed backend seam

This commit is contained in:
2026-04-21 14:52:04 +08:00
parent 4883413d48
commit 6a538d0d2e
4 changed files with 60 additions and 257 deletions

View File

@@ -1022,82 +1022,6 @@ namespace Gameplay
}
}
internal sealed class ManagedUnknownBackendProbeRendererData
: ProbeRendererData
{
protected override ScriptableRenderer CreateProbeRenderer()
{
return new ManagedRenderPipelineProbe();
}
}
internal sealed class ManagedBuiltinForwardAliasProbeRendererData
: ProbeRendererData
{
protected override ScriptableRenderer CreateProbeRenderer()
{
return new ManagedRenderPipelineProbe();
}
}
internal sealed class ManagedRendererSelectionInactiveRenderer
: ScriptableRenderer
{
protected override bool SupportsRendererRecording(
RendererRecordingContext context)
{
return false;
}
protected override bool RecordRenderer(
RendererRecordingContext context)
{
return false;
}
}
internal sealed class ManagedRendererSelectionActiveRendererData
: ProbeRendererData
{
protected override ScriptableRenderer CreateProbeRenderer()
{
return new ProbeSceneRenderer();
}
protected override void ConfigureCameraRenderRequest(
CameraRenderRequestContext context)
{
if (HasDirectionalShadow(context))
{
ClearDirectionalShadow(context);
}
}
protected override void ConfigureCameraFramePlan(
ScriptableRenderPipelinePlanningContext context)
{
if (context == null ||
context.IsStageRequested(
CameraFrameStage.PostProcess))
{
return;
}
context.RequestFullscreenStage(
CameraFrameStage.PostProcess,
CameraFrameColorSource.MainSceneColor);
}
}
internal sealed class ManagedRendererSelectionInactiveRendererData
: ScriptableRendererData
{
protected override ScriptableRenderer CreateRenderer()
{
return new ManagedRendererSelectionInactiveRenderer();
}
}
internal sealed class ManagedRendererReuseProbeRendererData
: ProbeRendererData
{
@@ -1482,60 +1406,6 @@ namespace Gameplay
}
}
internal abstract class ProbePipelineRendererKeyAsset
: RendererBackedRenderPipelineAsset
{
protected sealed override string
GetPipelineRendererAssetKeyContextual(
int rendererIndex)
{
int resolvedRendererIndex =
ResolvePipelineRendererProbeIndex(
rendererIndex);
string overrideAssetKey =
ResolveProbePipelineRendererAssetKey(
resolvedRendererIndex);
return !string.IsNullOrEmpty(overrideAssetKey)
? overrideAssetKey
: base.GetPipelineRendererAssetKeyContextual(
resolvedRendererIndex);
}
protected virtual string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return string.Empty;
}
private int ResolvePipelineRendererProbeIndex(
int rendererIndex)
{
if (rendererDataList != null &&
rendererIndex >= 0 &&
rendererIndex < rendererDataList.Length)
{
return rendererIndex;
}
if (rendererDataList == null ||
rendererDataList.Length == 0)
{
return -1;
}
int resolvedDefaultRendererIndex =
defaultRendererIndex;
if (resolvedDefaultRendererIndex < 0 ||
resolvedDefaultRendererIndex >=
rendererDataList.Length)
{
resolvedDefaultRendererIndex = 0;
}
return resolvedDefaultRendererIndex;
}
}
public sealed class ManagedUniversalLifecycleProbeAsset
: UniversalRenderPipelineAsset
{
@@ -1561,7 +1431,7 @@ namespace Gameplay
}
public sealed class ManagedRenderPipelineProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
public static int CreatePipelineCallCount;
@@ -1581,7 +1451,7 @@ namespace Gameplay
}
public sealed class ManagedPostProcessRenderPipelineProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
public ManagedPostProcessRenderPipelineProbeAsset()
{
@@ -1593,42 +1463,6 @@ namespace Gameplay
}
}
public sealed class ManagedUnknownBackendRenderPipelineProbeAsset
: ProbePipelineRendererKeyAsset
{
public ManagedUnknownBackendRenderPipelineProbeAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ManagedUnknownBackendProbeRendererData()
};
}
protected override string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return "MissingBackend";
}
}
public sealed class ManagedBuiltinForwardAliasRenderPipelineProbeAsset
: ProbePipelineRendererKeyAsset
{
public ManagedBuiltinForwardAliasRenderPipelineProbeAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ManagedBuiltinForwardAliasProbeRendererData()
};
}
protected override string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return "BuiltinForwardAlias";
}
}
public sealed class ManagedUniversalRenderPipelineProbeAsset
: UniversalRenderPipelineAsset
{
@@ -1657,74 +1491,8 @@ namespace Gameplay
}
}
public sealed class ManagedDefaultRendererSelectionProbeAsset
: ProbePipelineRendererKeyAsset
{
public ManagedDefaultRendererSelectionProbeAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ManagedUnknownBackendProbeRendererData(),
new ManagedRenderPipelineProbeRendererData()
};
defaultRendererIndex = 1;
}
protected override string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return resolvedRendererIndex == 0
? "MissingBackend"
: string.Empty;
}
}
public sealed class ManagedInvalidDefaultRendererSelectionProbeAsset
: ProbePipelineRendererKeyAsset
{
public ManagedInvalidDefaultRendererSelectionProbeAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ManagedRenderPipelineProbeRendererData(),
new ManagedUnknownBackendProbeRendererData()
};
defaultRendererIndex = 5;
}
protected override string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return resolvedRendererIndex == 1
? "MissingBackend"
: string.Empty;
}
}
public sealed class ManagedFallbackRendererSelectionConsistencyProbeAsset
: ProbePipelineRendererKeyAsset
{
public ManagedFallbackRendererSelectionConsistencyProbeAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ManagedRendererSelectionActiveRendererData(),
new ManagedRendererSelectionInactiveRendererData()
};
defaultRendererIndex = 7;
}
protected override string ResolveProbePipelineRendererAssetKey(
int resolvedRendererIndex)
{
return resolvedRendererIndex == 1
? "MissingBackend"
: string.Empty;
}
}
public sealed class ManagedRendererReuseProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
public ManagedRendererReuseProbeAsset()
{
@@ -1738,7 +1506,7 @@ namespace Gameplay
}
public sealed class ManagedRendererInvalidationProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
private readonly ManagedRendererInvalidationProbeRendererData
m_rendererData;
@@ -1772,7 +1540,7 @@ namespace Gameplay
}
public sealed class ManagedPersistentFeatureProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
private readonly ManagedPersistentFeatureProbeRendererData
m_rendererData;
@@ -1800,7 +1568,7 @@ namespace Gameplay
}
public sealed class ManagedFeaturePassOrderProbeAsset
: RendererBackedRenderPipelineAsset
: UniversalRenderPipelineAsset
{
public ManagedFeaturePassOrderProbeAsset()
{