aboutsummaryrefslogtreecommitdiff
path: root/src/renderer/opengl/GlRenderer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/opengl/GlRenderer.hpp')
-rw-r--r--src/renderer/opengl/GlRenderer.hpp34
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;
+};
+