// Copyright (c) 2022 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "display/_RenderManager.hpp" #include "display/BackBufferRenderTarget.hpp" #include "display/shader/SimpleTexturedShader.hpp" #include "display/RenderPipeline.hpp" namespace Dawn { class RenderManager : public IRenderManager { private: RenderPipeline renderPipeline; public: BackBufferRenderTarget backBuffer; SimpleTexturedShader *simpleShader; UIShader *uiShader; /** * Construct a new RenderManager for a game instance. */ RenderManager(DawnGame *game); RenderTarget * getBackBuffer() override; RenderPipeline * getRenderPipeline() override; Shader * getDefaultShader() override; UIShader * getUIShader() override; void setRenderFlags(renderflag_t renderFlags) override; void init() override; void update() override; /** * Destroy a previously initialized RenderManager. */ ~RenderManager(); }; }