refactor(srp): collapse universal pipeline wrappers
This commit is contained in:
@@ -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()
|
||||
{
|
||||
|
||||
@@ -31,6 +31,9 @@ namespace Gameplay
|
||||
public bool HasRendererFeatureConfigureCameraFramePlan;
|
||||
public bool HasRendererRecordingContextType;
|
||||
public bool HasRendererCameraRequestContextType;
|
||||
public bool HasRendererBackedRenderPipelineAssetType;
|
||||
public bool HasRendererBackedRenderPipelineType;
|
||||
public bool HasRendererDrivenRenderPipelineType;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
@@ -154,6 +157,15 @@ namespace Gameplay
|
||||
HasRendererCameraRequestContextType =
|
||||
System.Type.GetType(
|
||||
"XCEngine.Rendering.Universal.RendererCameraRequestContext, XCEngine.RenderPipelines.Universal") != null;
|
||||
HasRendererBackedRenderPipelineAssetType =
|
||||
System.Type.GetType(
|
||||
"XCEngine.Rendering.Universal.RendererBackedRenderPipelineAsset, XCEngine.RenderPipelines.Universal") != null;
|
||||
HasRendererBackedRenderPipelineType =
|
||||
System.Type.GetType(
|
||||
"XCEngine.Rendering.Universal.RendererBackedRenderPipeline, XCEngine.RenderPipelines.Universal") != null;
|
||||
HasRendererDrivenRenderPipelineType =
|
||||
System.Type.GetType(
|
||||
"XCEngine.Rendering.Universal.RendererDrivenRenderPipeline, XCEngine.RenderPipelines.Universal") != null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user