Align URP pass queue authoring with per-camera data

This commit is contained in:
2026-04-28 01:25:29 +08:00
parent 6f1458a8e7
commit b96764e31b
16 changed files with 195 additions and 117 deletions

View File

@@ -80,11 +80,10 @@ namespace ProjectScripts
public override void AddRenderPasses(
ScriptableRenderer renderer,
RenderingData renderingData)
RendererPassQueueData passQueueData)
{
if (renderer == null ||
renderingData == null ||
!renderingData.isPostProcessStage)
passQueueData == null)
{
return;
}
@@ -172,17 +171,33 @@ namespace ProjectScripts
public sealed class ProjectCustomRenderer
: ScriptableRenderer
{
private readonly DrawObjectsPass m_opaquePass =
new DrawObjectsPass(
RenderPassEvent.RenderOpaques,
RendererListDesc.CreateDefault(
RendererListType.Opaque));
private sealed class ProjectCustomOpaquePass
: ScriptableRenderPass
{
public ProjectCustomOpaquePass()
{
renderPassEvent =
RenderPassEvent.RenderOpaques;
}
protected override bool RecordRenderGraph(
ScriptableRenderContext context,
RenderingData renderingData)
{
return context != null &&
renderingData != null &&
renderingData.isMainSceneStage &&
context.DrawOpaqueRenderers();
}
}
private readonly ProjectCustomOpaquePass m_opaquePass =
new ProjectCustomOpaquePass();
protected override void AddRenderPasses(
RenderingData renderingData)
RendererPassQueueData passQueueData)
{
if (renderingData == null ||
!renderingData.isMainSceneStage)
if (passQueueData == null)
{
return;
}