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

@@ -120,7 +120,7 @@ namespace XCEngine.Rendering.Universal
}
protected virtual void AddRenderPasses(
RenderingData renderingData)
RendererPassQueueData passQueueData)
{
}
@@ -210,7 +210,9 @@ namespace XCEngine.Rendering.Universal
return false;
}
BuildPassQueue(renderingData);
BuildPassQueue(
RendererPassQueueData.FromRenderingData(
renderingData));
try
{
return SupportsRendererStage(context);
@@ -247,7 +249,9 @@ namespace XCEngine.Rendering.Universal
return false;
}
BuildPassQueue(renderingData);
BuildPassQueue(
RendererPassQueueData.FromRenderingData(
renderingData));
try
{
bool recorded;
@@ -431,7 +435,7 @@ namespace XCEngine.Rendering.Universal
ulong framePlanId = context.framePlanId;
BuildPassQueue(
RenderingData.CreatePlanning(
RendererPassQueueData.CreatePlanning(
rendererIndex,
finalColorRequiresProcessing,
framePlanId));
@@ -863,7 +867,7 @@ namespace XCEngine.Rendering.Universal
}
private void BuildPassQueue(
RenderingData renderingData)
RendererPassQueueData passQueueData)
{
ClearPassQueue();
@@ -877,13 +881,13 @@ namespace XCEngine.Rendering.Universal
feature.SetupRenderPasses(
this,
in renderingData);
in passQueueData);
feature.AddRenderPasses(
this,
ref renderingData);
ref passQueueData);
}
AddRenderPasses(renderingData);
AddRenderPasses(passQueueData);
m_rendererBlocks.Build(m_activePassQueue);
}