rendering: close renderer override bridge phase 4.4

This commit is contained in:
2026-04-26 02:44:21 +08:00
parent 97f3c3486a
commit cf0b00b0d2
4 changed files with 276 additions and 3 deletions

View File

@@ -1852,6 +1852,42 @@ namespace Gameplay
}
}
public sealed class ManagedCameraOverrideRendererSelectionProbeAsset
: UniversalRenderPipelineAsset
{
public ManagedCameraOverrideRendererSelectionProbeAsset()
{
rendererDataList =
ProbeScriptableObjectFactory
.CreateRendererDataList(
ProbeScriptableObjectFactory
.Create<ManagedRenderPipelineProbeRendererData>(),
ProbeScriptableObjectFactory
.Create<ManagedRenderPipelineProbeRendererData>());
defaultRendererIndex = 0;
}
protected override ScriptableRenderPipeline
CreateRendererBackedPipeline()
{
return new ManagedCameraOverrideRendererSelectionProbePipeline();
}
protected override void ConfigureCameraFramePlan(
ScriptableRenderPipelinePlanningContext context)
{
if (context == null ||
context.rendererIndex != 1)
{
return;
}
context.RequestFullscreenStage(
CameraFrameStage.PostProcess,
CameraFrameColorSource.MainSceneColor);
}
}
public sealed class ManagedRendererReuseProbeAsset
: UniversalRenderPipelineAsset
{
@@ -2242,6 +2278,34 @@ namespace Gameplay
}
}
internal sealed class ManagedCameraOverrideRendererSelectionProbePipeline
: ScriptableRenderPipeline
{
protected override bool SupportsStageRenderGraphContextual(
CameraFrameStage stage,
int rendererIndex)
{
return stage == CameraFrameStage.PostProcess &&
rendererIndex == 1;
}
protected override bool RecordStageRenderGraph(
ScriptableRenderContext context)
{
return context != null &&
context.stage == CameraFrameStage.PostProcess &&
context.rendererIndex == 1 &&
context
.AddRasterPass(
"ManagedCameraOverridePostProcess")
.SetColorAttachment(
context.primaryColorTarget)
.SetColorScaleFullscreenExecution(
new Vector4(1.05f, 1.0f, 0.95f, 1.0f))
.Commit();
}
}
internal sealed class ManagedRenderPipelineProbe
: ProbeSceneRenderer
{