move utils to include. utils implimentations should be headers

This commit is contained in:
2025-03-26 13:07:18 -05:00
parent 12c82a8327
commit fd6a774c73
15 changed files with 110 additions and 131 deletions

View File

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

View File

@@ -0,0 +1,28 @@
#ifndef RENDERER_H
#define RENDERER_H
#include "RendererOpenGL/RendererOpenGL.h"
namespace Archimedes {
class Renderer {
public:
int w, h;
typedef void renderCmd();
~Renderer() {}
void init() { r.init(); }
void render();
void addRenderCmd(renderCmd* cmd) { rc.push_back(cmd); }
private:
std::list<renderCmd*> rc;
RendererImpl r;
};
}
#endif

View File

@@ -0,0 +1,39 @@
#ifdef RENDERER_OPENGL
#undef RENDERER_OPENGL
#include "pch.hpp"
#define GLEW_STATIC
#include <GL/glew.h>
namespace Archimedes {
class RendererOpenGL {
public:
typedef void renderCmd();
RendererOpenGL() {};
~RendererOpenGL() {};
void init() { glewInit(); };
void 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();
}
};
typedef RendererOpenGL RendererImpl;
}
#endif