diff --git a/src/Backends/Rendering/Window/OpenGL3/GLFW3.cpp b/src/Backends/Rendering/Window/OpenGL3/GLFW3.cpp index 0760c017..ffbdfa70 100644 --- a/src/Backends/Rendering/Window/OpenGL3/GLFW3.cpp +++ b/src/Backends/Rendering/Window/OpenGL3/GLFW3.cpp @@ -59,6 +59,8 @@ bool WindowBackend_OpenGL_CreateWindow(const char *window_title, size_t *screen_ if (GLAD_GL_VERSION_3_2) { #endif + glfwSwapInterval(0); // Disable vsync + Backend_PostWindowCreation(); return true; diff --git a/src/Backends/Rendering/Window/OpenGL3/SDL1.cpp b/src/Backends/Rendering/Window/OpenGL3/SDL1.cpp index f5c7a970..affb1c17 100644 --- a/src/Backends/Rendering/Window/OpenGL3/SDL1.cpp +++ b/src/Backends/Rendering/Window/OpenGL3/SDL1.cpp @@ -13,6 +13,11 @@ bool WindowBackend_OpenGL_CreateWindow(const char *window_title, size_t *screen_width, size_t *screen_height, bool fullscreen) { +#ifdef SDL_GL_SWAP_CONTROL + if (SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0) < 0) // Disable vsync + Backend_PrintError("Couldn't set OpenGL swap interval: %s", SDL_GetError()); +#endif + if (SDL_SetVideoMode(*screen_width, *screen_height, 0, SDL_RESIZABLE | SDL_OPENGL | (fullscreen ? SDL_FULLSCREEN : 0)) != NULL) { SDL_WM_SetCaption(window_title, NULL); diff --git a/src/Backends/Rendering/Window/OpenGL3/SDL2.cpp b/src/Backends/Rendering/Window/OpenGL3/SDL2.cpp index 05e4a0ff..ad811147 100644 --- a/src/Backends/Rendering/Window/OpenGL3/SDL2.cpp +++ b/src/Backends/Rendering/Window/OpenGL3/SDL2.cpp @@ -63,6 +63,8 @@ bool WindowBackend_OpenGL_CreateWindow(const char *window_title, size_t *screen_ if (GLAD_GL_VERSION_3_2) { #endif + SDL_GL_SetSwapInterval(0); // Disable vsync + Backend_PostWindowCreation(); return true; diff --git a/src/Backends/Rendering/Window/Software/GLFW3.cpp b/src/Backends/Rendering/Window/Software/GLFW3.cpp index 7df16a5d..be93eb21 100644 --- a/src/Backends/Rendering/Window/Software/GLFW3.cpp +++ b/src/Backends/Rendering/Window/Software/GLFW3.cpp @@ -52,6 +52,8 @@ bool WindowBackend_Software_CreateWindow(const char *window_title, size_t screen { glfwMakeContextCurrent(window); + glfwSwapInterval(0); // Disable vsync + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glEnable(GL_TEXTURE_2D);