#include "WindowModule.h" WindowModule::~WindowModule() { if(layers) delete layers; if(renderer) delete renderer; if(window) delete window; } void WindowModule::onLoad() { window = new Archimedes::Window(); renderer = new Archimedes::Renderer(); window->setRenderer(renderer); //renderer = window->getRenderer(); layers = new Archimedes::Layerstack(); if(!renderer->init()) { std::cout << "Renderer init failed!\n"; std::abort(); } renderer->getCmdList().push_back([this](){ layers->renderAll(); }); data["window"] = window->getWindowImpl().getWindow(); data["renderCmdList"] = &renderer->getCmdList(); } void WindowModule::run() { if(window->shouldClose()) { app->end(); } window->doFrame(); }