From f28e9c3e03a9f94764b3811f7c4aa01991943fc7 Mon Sep 17 00:00:00 2001 From: fschildt Date: Wed, 17 Sep 2025 15:30:21 +0200 Subject: switch to software renderer --- src/main.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 0a632fa..0cf89d7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,3 @@ -#include "imgui_internal.h" #include #include #include @@ -8,6 +7,7 @@ #include #include +#include #include #include @@ -17,7 +17,6 @@ #include #include #include -#include Game::GameType @@ -41,7 +40,7 @@ do_menu(RenderGroup &render_group) ImGui::End(); - V3F32 clear_color = V3F32(0.4f, 0.4f, 0.4f); + Color clear_color = {0.4f, 0.4f, 0.4f, 1.0f}; render_group.SetCameraSize(4.0f, 3.0f); render_group.Clear(clear_color); @@ -81,6 +80,12 @@ main(int argc, char **argv) return EXIT_FAILURE; } + GLenum glew_error = glewInit(); + if (glew_error != GLEW_OK) + { + fprintf(stderr, "Error: %s\n", glewGetErrorString(glew_error)); + } + SDL_GL_MakeCurrent(window, sdl_gl_context); SDL_GL_SetSwapInterval(1); // enable vsync SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); @@ -101,8 +106,8 @@ main(int argc, char **argv) std::unique_ptr game = nullptr; - std::unique_ptr renderer = Renderer::Select(Renderer::API_OPENGL, window); - if (!renderer->Init()) { + Renderer renderer {window}; + if (!renderer.Init()) { return EXIT_FAILURE; } @@ -145,6 +150,7 @@ main(int argc, char **argv) SDL_GetWindowSize(window, &w, &h); render_group.m_ScreenWidth = w; render_group.m_ScreenHeight = h; + renderer.ResizeCanvas(w, h); if (game) { @@ -171,10 +177,10 @@ main(int argc, char **argv) ImGui::End(); - renderer->Draw(render_group); + renderer.Draw(render_group); ImGui::Render(); ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); - renderer->Present(); + SDL_GL_SwapWindow(window); render_group.Reset(); } -- cgit v1.2.3