the gui problem^TM

This commit is contained in:
2025-03-21 16:16:25 -05:00
parent 7900def444
commit 6b8861a7fb
15 changed files with 316 additions and 206 deletions

View File

@@ -0,0 +1,8 @@
#include "Renderer.h"
namespace Archimedes {
void Renderer::render() {
r.render(rc, w, h);
}
}

View File

@@ -1,9 +1,16 @@
#ifndef RENDERER
#define RENDERER
#include "Archimedes.h"
#define RENDERER_OPENGL
#include "RendererOpenGL/RendererOpenGL.h"
namespace Archimedes {
class Renderer {
public:
int w, h;
typedef void renderCmd();
~Renderer() {}
@@ -14,6 +21,8 @@ namespace Archimedes {
private:
std::list<renderCmd*> rc;
RendererImpl r;
};
}
#endif

View File

@@ -0,0 +1,23 @@
#define RENDERER_OPENGL
#include "RendererOpenGL.h"
#define GLEW_STATIC
#include <GL/glew.h>
namespace Archimedes {
RendererOpenGL::RendererOpenGL() {}
RendererOpenGL::~RendererOpenGL() {}
void RendererOpenGL::render(std::list<renderCmd*> cmdList, int& w, int& h) {
glViewport(0, 0, &w, &h);
glClear(GL_COLOR_BUFFER_BIT);
for(auto* f : cmdList)
f();
cmdList.clear();
}
}

View File

@@ -1,15 +1,22 @@
#include "Renderer/Renderer.h"
#ifdef RENDERER_OPENGL
#undef RENDERER_OPENGL
#include "Archimedes.h"
namespace Archimedes {
class RendererOpenGL {
public:
typedef void renderCmd();
RendererOpenGL();
~RendererOpenGL();
void render();
void render(std::list<renderCmd*>, int&, int&);
};
typedef RendererOpenGL RendererImpl;
}
#endif