Refactor rendering frame execution contracts

This commit is contained in:
2026-04-13 22:16:04 +08:00
parent 48daaa1bd0
commit 712f99e723
30 changed files with 1398 additions and 247 deletions

View File

@@ -2,6 +2,7 @@
#include "Core/Asset/ResourceManager.h"
#include "RHI/RHICommandList.h"
#include "Rendering/FrameData/RendererListUtils.h"
#include "Rendering/Internal/RenderSurfacePipelineUtils.h"
#include "Rendering/Extraction/RenderSceneExtractor.h"
#include "Rendering/RenderSurface.h"
@@ -119,9 +120,12 @@ bool BuiltinObjectIdPass::Execute(const RenderPassContext& context) {
commandList->SetPrimitiveTopology(RHI::PrimitiveTopology::TriangleList);
commandList->SetPipelineState(m_pipelineState);
for (const VisibleRenderItem& visibleItem : context.sceneData.visibleItems) {
DrawVisibleItem(context.renderContext, context.sceneData, visibleItem);
}
VisitRendererListVisibleItems(
context.sceneData,
RendererListType::ObjectId,
[&](const VisibleRenderItem& visibleItem) {
DrawVisibleItem(context.renderContext, context.sceneData, visibleItem);
});
commandList->EndRenderPass();