#pragma once #include "Rendering/Viewport/SceneViewportPassSpecs.h" #include #include #include #include namespace XCEngine::UI::Editor::App { class SceneViewportGridPassRenderer { public: SceneViewportGridPassRenderer(); ~SceneViewportGridPassRenderer(); SceneViewportGridPassRenderer(const SceneViewportGridPassRenderer&) = delete; SceneViewportGridPassRenderer& operator=(const SceneViewportGridPassRenderer&) = delete; SceneViewportGridPassRenderer(SceneViewportGridPassRenderer&&) = delete; SceneViewportGridPassRenderer& operator=(SceneViewportGridPassRenderer&&) = delete; void Shutdown(); bool Render( const ::XCEngine::Rendering::RenderContext& renderContext, const ::XCEngine::Rendering::RenderSurface& surface, const SceneViewportGridPassData& data); private: class Impl; std::unique_ptr m_impl = {}; }; std::unique_ptr<::XCEngine::Rendering::RenderPass> CreateSceneViewportGridPass( SceneViewportGridPassRenderer& renderer, const SceneViewportGridPassData& data); } // namespace XCEngine::UI::Editor::App