#pragma once #include #include #include #include #include #include #include namespace XCEngine { namespace Editor { class SceneViewportSelectionOutlinePassRenderer { public: SceneViewportSelectionOutlinePassRenderer(); ~SceneViewportSelectionOutlinePassRenderer() = default; void Shutdown(); bool Render( const Rendering::RenderContext& renderContext, const Rendering::RenderSurface& surface, RHI::RHIResourceView* objectIdTextureView, const std::vector& selectedObjectIds, const Rendering::Passes::ObjectIdOutlineStyle& style); private: Rendering::Passes::BuiltinObjectIdOutlinePass m_outlinePass; }; std::unique_ptr CreateSceneViewportSelectionOutlinePass( SceneViewportSelectionOutlinePassRenderer& renderer, RHI::RHIResourceView* objectIdTextureView, const std::vector& selectedObjectIds, const Rendering::Passes::ObjectIdOutlineStyle& style); } // namespace Editor } // namespace XCEngine