diff --git a/4J.Render/4J_Render.cpp b/4J.Render/4J_Render.cpp index c16920e82..a22e5ff1b 100644 --- a/4J.Render/4J_Render.cpp +++ b/4J.Render/4J_Render.cpp @@ -70,6 +70,9 @@ static void onFramebufferResize(int w, int h) ::glViewport(0, 0, w, h); } +// V-Sync + + // Initialize OpenGL & The SDL window. void C4JRender::Initialise() { @@ -121,8 +124,14 @@ void C4JRender::Initialise() SDL_Quit(); return; } - SDL_GL_SetSwapInterval(0); // V-Sync Off Please. + // 4JCraft VSync/V-Sync + #ifdef ENABLE_VSYNC + SDL_GL_SetSwapInterval(1); // V-Sync On Please. + #else + SDL_GL_SetSwapInterval(0); // V-Sync Off Please. + #endif + int fw, fh; SDL_GetWindowSize(s_window, &fw, &fh); onFramebufferResize(fw, fh); // We initialize the OpenGL states. Touching those values makes some funny artifacts appear. diff --git a/meson.build b/meson.build index 7ec53a62e..e8e00dc3b 100644 --- a/meson.build +++ b/meson.build @@ -37,6 +37,12 @@ global_cpp_defs = [ '-DDEBUG', ] +if get_option('enable_vsync') + global_cpp_defs += '-DENABLE_VSYNC' + message('v-sync enabled') +endif + + if host_machine.system() == 'linux' global_cpp_defs += [ '-Dlinux',