#pragma once #include "Viewport/SceneViewportPassSpecs.h" #include #include #include #include namespace XCEngine { namespace Editor { 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 Rendering::RenderContext& renderContext, const Rendering::RenderSurface& surface, const SceneViewportGridPassData& data); private: class Impl; std::unique_ptr m_impl; }; std::unique_ptr CreateSceneViewportGridPass( SceneViewportGridPassRenderer& renderer, const SceneViewportGridPassData& data); } // namespace Editor } // namespace XCEngine