Align managed raster RenderGraph authoring with URP

This commit is contained in:
2026-04-26 23:32:09 +08:00
parent 09b1289338
commit 3b38d65ab8
13 changed files with 430 additions and 123 deletions

View File

@@ -69,9 +69,13 @@ namespace Gameplay
public bool HasRenderGraphRasterPassBuilderUseColorSource;
public bool HasRenderGraphRasterPassBuilderUseTexture;
public bool HasRenderGraphRasterPassBuilderSetColorAttachment;
public bool HasRenderGraphRasterPassBuilderSetRenderFunc;
public bool HasRenderGraphRasterPassBuilderSetColorScaleFullscreenExecution;
public bool HasRenderGraphRasterPassBuilderSetShaderVectorFullscreenExecution;
public bool HasRenderGraphRasterPassBuilderSetFinalColorFullscreenExecution;
public bool HasRenderGraphRasterPassBuilderCommit;
public bool HasRenderGraphRasterContextType;
public bool HasRenderGraphRasterContextCommandBuffer;
public bool HasSceneRenderPhaseType;
public bool HasSceneRenderInjectionPointType;
public bool HasRendererListType;
@@ -105,6 +109,9 @@ namespace Gameplay
public bool HasRenderGraphType;
public bool HasRenderGraphAddRasterPass;
public bool HasRenderPassPublicRecordRenderGraph;
public bool HasRenderPassProtectedRecordColorScaleFullscreenPass;
public bool HasRenderPassProtectedRecordShaderVectorFullscreenPass;
public bool HasRenderPassProtectedRecordFinalColorFullscreenPass;
public bool HasRenderPassComparisonOperators;
public bool HasRenderPassEventUnityNumericOrder;
public bool HasRenderPassEventEngineExtensionOrder;
@@ -172,6 +179,8 @@ namespace Gameplay
"XCEngine.ScriptableObject");
System.Type rasterPassBuilderType =
typeof(RenderGraphRasterPassBuilder);
System.Type rasterPassContextType =
typeof(RenderGraphRasterContext);
System.Type rendererFeatureType =
typeof(ScriptableRendererFeature);
System.Type rendererDataType =
@@ -476,10 +485,18 @@ namespace Gameplay
rasterPassBuilderType.GetMethod(
"SetColorAttachment",
PublicInstanceMethodFlags) != null;
HasRenderGraphRasterPassBuilderSetRenderFunc =
rasterPassBuilderType.GetMethod(
"SetRenderFunc",
PublicInstanceMethodFlags) != null;
HasRenderGraphRasterPassBuilderSetColorScaleFullscreenExecution =
rasterPassBuilderType.GetMethod(
"SetColorScaleFullscreenExecution",
PublicInstanceMethodFlags) != null;
HasRenderGraphRasterPassBuilderSetShaderVectorFullscreenExecution =
rasterPassBuilderType.GetMethod(
"SetShaderVectorFullscreenExecution",
PublicInstanceMethodFlags) != null;
HasRenderGraphRasterPassBuilderSetFinalColorFullscreenExecution =
rasterPassBuilderType.GetMethod(
"SetFinalColorFullscreenExecution",
@@ -488,6 +505,13 @@ namespace Gameplay
rasterPassBuilderType.GetMethod(
"Commit",
PublicInstanceMethodFlags) != null;
HasRenderGraphRasterContextType =
rasterPassContextType != null;
HasRenderGraphRasterContextCommandBuffer =
rasterPassContextType.GetProperty(
"cmd",
BindingFlags.Instance |
BindingFlags.Public) != null;
HasSceneRenderPhaseType =
contextType.Assembly.GetType(
"XCEngine.Rendering.SceneRenderPhase") != null;
@@ -640,6 +664,21 @@ namespace Gameplay
typeof(ContextContainer)
},
null) != null;
HasRenderPassProtectedRecordColorScaleFullscreenPass =
renderPassType.GetMethod(
"RecordColorScaleFullscreenPass",
BindingFlags.Instance |
BindingFlags.NonPublic) != null;
HasRenderPassProtectedRecordShaderVectorFullscreenPass =
renderPassType.GetMethod(
"RecordShaderVectorFullscreenPass",
BindingFlags.Instance |
BindingFlags.NonPublic) != null;
HasRenderPassProtectedRecordFinalColorFullscreenPass =
renderPassType.GetMethod(
"RecordFinalColorFullscreenPass",
BindingFlags.Instance |
BindingFlags.NonPublic) != null;
HasRenderPassComparisonOperators =
renderPassType.GetMethod(
"op_GreaterThan",