diff options
| author | fschildt <florian.schildt@protonmail.com> | 2025-09-17 15:30:21 +0200 |
|---|---|---|
| committer | fschildt <florian.schildt@protonmail.com> | 2025-09-17 15:30:21 +0200 |
| commit | f28e9c3e03a9f94764b3811f7c4aa01991943fc7 (patch) | |
| tree | 569850adf97494f5ce31dfe31a4c2703f378a144 /src/main.cpp | |
| parent | b46a0d9369fbaa1938f0968ab216bc2d564a9c37 (diff) | |
switch to software renderer
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
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 <basic/defs.hpp> #include <cstdlib> #include <memory> @@ -8,6 +7,7 @@ #include <SDL3/SDL.h> #include <SDL3/SDL_video.h> +#include <GL/glew.h> #include <GL/gl.h> #include <imgui.h> @@ -17,7 +17,6 @@ #include <stdlib.h> #include <assert.h> #include <iostream> -#include <array> 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> game = nullptr; - std::unique_ptr<Renderer> 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(); } |
