Reputation: 71
I am trying to disable vsync in OpenGl with WGL_EXT_swap_control using wglSwapIntervalEXT(int interval).
I am trying to include the wglext header but after much searching it seems it is not installed on my pc (using opengl extension viewer to find this). I have tried installing the windows sdk and updating the .net framework but still cannot install this extension.
Is there anyway to include this. my graphics card is an nVidia GTX 770m. Or is there a simpler way to disable vsync.
Thanks
Upvotes: 2
Views: 2025
Reputation: 71
So, a friend managed to figure this out without glew. So if anyone needs help with it this should be something similar to what you are looking for
void SetVSync(bool sync)
{
typedef BOOL(APIENTRY *PFNWGLSWAPINTERVALPROC)(int);
PFNWGLSWAPINTERVALPROC wglSwapIntervalEXT = 0;
const char *extensions = (char*)glGetString(GL_EXTENSIONS);
wglSwapIntervalEXT = (PFNWGLSWAPINTERVALPROC)wglGetProcAddress("wglSwapIntervalEXT");
if (wglSwapIntervalEXT)
wglSwapIntervalEXT(sync);
}
Upvotes: 5
Reputation: 51863
Just to include header #include "gl\wglext.h"
is not enough. You need to also register the extension to OpenGL. If you do not have a clue how to do it google for some tutorial but much much easier and safer is to use some extension registering library like GLEW see:
After successful glewInit();
call your extension should be available (if present on the gfx card/driver.
Without registering extensions you got access to only basic OpenGL 1.0 stuff.
Upvotes: 1