refactor(srp): close renderer-backed backend seam
This commit is contained in:
@@ -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()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user