// Copyright (C) 2020 Jérôme Leclercq // This file is part of the "Nazara Engine - Renderer module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_OPENGLRENDERER_HPP #define NAZARA_OPENGLRENDERER_HPP #include #include #include #include #include #include #include namespace Nz { class NAZARA_OPENGLRENDERER_API OpenGLRenderer : public RendererImpl { public: OpenGLRenderer() = default; ~OpenGLRenderer(); std::unique_ptr CreateRenderSurfaceImpl() override; std::unique_ptr CreateRenderWindowImpl() override; std::shared_ptr InstanciateRenderDevice(std::size_t deviceIndex) override; RenderAPI QueryAPI() const override; std::string QueryAPIString() const override; UInt32 QueryAPIVersion() const override; std::vector QueryRenderDevices() const override; bool Prepare(const ParameterList& parameters) override; private: DynLib m_opengl32Lib; std::shared_ptr m_device; std::unique_ptr m_loader; }; } #include #endif // NAZARA_OPENGLRENDERER_HPP