#pragma once #include "Passes/SceneViewportEditorOverlayPass.h" #include "Passes/SceneViewportGridPass.h" #include "Passes/SceneViewportSelectionOutlinePass.h" #include "SceneViewportRenderPlan.h" namespace XCEngine { namespace Editor { class SceneViewportRenderPassBundle { public: ~SceneViewportRenderPassBundle() = default; void Shutdown(); SceneViewportRenderPlanBuildResult BuildRenderPlan( ViewportRenderTargets& targets, const SceneViewportOverlayData& overlay, const std::vector& selectedObjectIds, const SceneViewportOverlayFrameData& editorOverlayFrameData, bool debugSelectionMask = false); private: SceneViewportGridPassRenderer m_gridRenderer; SceneViewportSelectionOutlinePassRenderer m_selectionOutlineRenderer; SceneViewportEditorOverlayPassRenderer m_overlayRenderer; }; } // namespace Editor } // namespace XCEngine