refactor(srp): remove managed frame planning hook

- derive fullscreen stage planning from pipeline render-graph support
- trim planning-only APIs from the managed SRP bridge and public surface
- update probes and tests to lock the slimmer SRP API boundary
This commit is contained in:
2026-04-19 13:47:20 +08:00
parent 08e2b38df2
commit 537d7d99fc
19 changed files with 179 additions and 517 deletions

View File

@@ -1,6 +1,7 @@
using System.Reflection;
using XCEngine;
using XCEngine.Rendering;
using XCEngine.Rendering.Renderer;
namespace Gameplay
{
@@ -19,6 +20,9 @@ namespace Gameplay
public bool HasPublicContextStageColorData;
public bool HasPublicCameraRequestContextHasDirectionalShadow;
public bool HasPublicCameraRequestContextClearDirectionalShadow;
public bool HasPublicPipelineAssetConfigureCameraFramePlan;
public bool HasPlanningContextType;
public bool HasRendererFeatureConfigureCameraFramePlan;
public bool HasRendererRecordingContextType;
public bool HasRendererCameraRequestContextType;
@@ -30,6 +34,10 @@ namespace Gameplay
typeof(ScriptableRenderContext);
System.Type cameraRequestContextType =
typeof(ScriptableRenderPipelineCameraRequestContext);
System.Type pipelineAssetType =
typeof(ScriptableRenderPipelineAsset);
System.Type rendererFeatureType =
typeof(ScriptableRendererFeature);
HasPublicContextRecordScene =
contextType.GetMethod(
@@ -79,6 +87,21 @@ namespace Gameplay
cameraRequestContextType.GetMethod(
"ClearDirectionalShadow",
PublicInstanceMethodFlags) != null;
HasPublicPipelineAssetConfigureCameraFramePlan =
pipelineAssetType.GetMethod(
"ConfigureCameraFramePlan",
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic) != null;
HasPlanningContextType =
contextType.Assembly.GetType(
"XCEngine.Rendering.ScriptableRenderPipelinePlanningContext") != null;
HasRendererFeatureConfigureCameraFramePlan =
rendererFeatureType.GetMethod(
"ConfigureCameraFramePlan",
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic) != null;
HasRendererRecordingContextType =
System.Type.GetType(
"XCEngine.Rendering.Renderer.RendererRecordingContext, XCEngine.RenderPipelines.Universal") != null;