#pragma once #include #include "Camera.hpp" #include "../Utils/MeshHelper.hpp" #include "../World/WorldObject.hpp" class Graphic3DRenderer final { public: Graphic3DRenderer(); ~Graphic3DRenderer(); Graphic3DRenderer(Graphic3DRenderer&&) = default; Graphic3DRenderer& operator= (Graphic3DRenderer&&) = default; Graphic3DRenderer(Graphic3DRenderer const&) = delete; Graphic3DRenderer& operator= (Graphic3DRenderer const&) = delete; void Draw(sf::RenderTexture& context); private: sf::RenderTexture mWorldRender; // This is used to create the scene std::unique_ptr mMainCamera; // Default player view std::vector> mRenderList; // List of elements to be rendered next frame };