38 lines
724 B
C++
38 lines
724 B
C++
#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();
|
|
|
|
std::list<renderCmd*>::iterator addRenderCmd(renderCmd* cmd) {
|
|
|
|
auto it = rc.end();
|
|
rc.push_back(cmd);
|
|
return it;
|
|
}
|
|
|
|
void removeRenderCmd(std::list<renderCmd*>::iterator cmd) {
|
|
rc.erase(cmd);
|
|
}
|
|
|
|
private:
|
|
std::list<renderCmd*> rc;
|
|
RendererImpl r;
|
|
};
|
|
}
|
|
|
|
#endif
|