fix: change renderer to class

This commit is contained in:
2021-09-18 18:58:32 +02:00
parent 519c6e33e7
commit a8b6a646af
10 changed files with 150 additions and 121 deletions

View File

@@ -21,6 +21,7 @@
namespace Display {
static GLFWwindow* window;
std::unique_ptr<td::render::Renderer> renderer = std::make_unique<td::render::Renderer>();
static int lastWidth = 0, lastHeight = 0;
static float aspectRatio;
@@ -31,7 +32,7 @@ void error_callback(int error, const char* description){
void windowResizeEvent(GLFWwindow* window, int width, int height){
aspectRatio = (float) width / height;
td::render::Renderer::resize(width, height);
renderer->resize(width, height);
lastWidth = width;
lastHeight = height;
}
@@ -45,15 +46,15 @@ void create() {
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
window = glfwCreateWindow(WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_NAME, nullptr, nullptr);
glfwMakeContextCurrent(window);
if(!td::render::Renderer::init()){
if(!renderer->init()){
exit(1);
}
TowerGui::init(window);
TowerGui::init(window, renderer.get());
windowResizeEvent(window, WINDOW_WIDTH, WINDOW_HEIGHT);
}
void render() {
td::render::Renderer::prepare();
renderer->prepare();
TowerGui::render();
}
@@ -67,7 +68,7 @@ void update() {
}
void destroy() {
td::render::Renderer::destroy();
renderer.reset(0);
TowerGui::destroy();
glfwDestroyWindow(window);
window = NULL;