diff options
Diffstat (limited to 'src/renderer/opengl/GlRenderer.hpp')
-rw-r--r-- | src/renderer/opengl/GlRenderer.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/renderer/opengl/GlRenderer.hpp b/src/renderer/opengl/GlRenderer.hpp new file mode 100644 index 0000000..d59ba45 --- /dev/null +++ b/src/renderer/opengl/GlRenderer.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include <renderer/Renderer.hpp> +#include <renderer/opengl/GlVertexBuffer.hpp> +#include <renderer/opengl/GlIndexBuffer.hpp> +#include <renderer/opengl/GlShader.hpp> + +class GlRenderer : public Renderer { +public: + GlRenderer(SDL_Window *window); + ~GlRenderer() override; + + bool Init() override; + void Draw(RenderGroup& render_group) override; + void Present() override; + + void InitTexture(); + +private: + void DrawBatch(); + +private: + SDL_Window *m_Window; + SDL_GLContext m_Context; + + GlVertexBuffer m_RectangleVertexBuffer; + GlIndexBuffer m_RectangleIndexBuffer; + GlShader m_RectangleShader; + + GlVertexBuffer m_TextVertexBuffer; + GlVertexBuffer m_TextIndexBuffer; + GlShader m_TextShader; +}; + |