Extract editor-owned scene viewport pass specs

This commit is contained in:
2026-04-04 16:29:06 +08:00
parent 1a236b866d
commit 9f8ab921bc
8 changed files with 87 additions and 24 deletions

View File

@@ -35,11 +35,11 @@ struct SceneViewportRenderPlan {
using SceneViewportOverlayPassFactory =
std::function<std::unique_ptr<Rendering::RenderPass>(const SceneViewportOverlayFrameData&)>;
using SceneViewportGridPassFactory =
std::function<std::unique_ptr<Rendering::RenderPass>(const Rendering::Passes::InfiniteGridPassData&)>;
std::function<std::unique_ptr<Rendering::RenderPass>(const SceneViewportGridPassData&)>;
using SceneViewportSelectionOutlinePassFactory = std::function<std::unique_ptr<Rendering::RenderPass>(
RHI::RHIResourceView*,
const std::vector<uint64_t>&,
const Rendering::Passes::ObjectIdOutlineStyle&)>;
const SceneViewportSelectionOutlineStyle&)>;
struct SceneViewportRenderPlanBuildResult {
SceneViewportRenderPlan plan = {};
@@ -60,7 +60,7 @@ inline SceneViewportRenderPlanBuildResult BuildSceneViewportRenderPlan(
return result;
}
const Rendering::Passes::InfiniteGridPassData gridPassData = BuildSceneViewportGridPassData(overlay);
const SceneViewportGridPassData gridPassData = BuildSceneViewportGridPassData(overlay);
if (gridPassData.valid && gridPassFactory != nullptr) {
std::unique_ptr<Rendering::RenderPass> gridPass = gridPassFactory(gridPassData);
if (gridPass != nullptr) {