Add rendering pass sequence scaffolding

This commit is contained in:
2026-03-30 02:22:17 +08:00
parent b489492af0
commit 2a31628db1
10 changed files with 420 additions and 20 deletions

View File

@@ -51,7 +51,31 @@ bool CameraRenderer::Render(
}
sceneData.cameraData.clearFlags = request.clearFlags;
return m_pipeline->Render(request.context, request.surface, sceneData);
const RenderPassContext passContext = {
request.context,
request.surface,
sceneData
};
if (request.preScenePasses != nullptr) {
if (!request.preScenePasses->Initialize(request.context) ||
!request.preScenePasses->Execute(passContext)) {
return false;
}
}
if (!m_pipeline->Render(request.context, request.surface, sceneData)) {
return false;
}
if (request.postScenePasses != nullptr) {
if (!request.postScenePasses->Initialize(request.context) ||
!request.postScenePasses->Execute(passContext)) {
return false;
}
}
return true;
}
} // namespace Rendering