X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=demo_prior;a=blobdiff_plain;f=src%2Fopengl.c;fp=src%2Fopengl.c;h=2d5e6a4a5f54b2942d0159420fd5bc0ec707d5bd;hp=beba99d0dd2b20c770a92434cb2b4fd5801219b0;hb=2f14a35e7d557da12f24056267b911f24774aa18;hpb=5eefe7b94c8d6c6caa2c10e3835ab0831a3c42a1 diff --git a/src/opengl.c b/src/opengl.c index beba99d..2d5e6a4 100644 --- a/src/opengl.c +++ b/src/opengl.c @@ -1,7 +1,40 @@ #include "opengl.h" +#ifdef __unix__ +#include "glxew.h" + +static Display *dpy; +static Window win; +#endif +#ifdef _WIN32 +#include "wglew.h" +#endif + + int init_opengl(void) { glewInit(); + +#ifdef __unix__ + dpy = glXGetCurrentDisplay(); + win = glXGetCurrentDrawable(); +#endif + return 0; } + +void gl_swap_interval(int val) +{ +#ifdef __unix__ + if(GLX_EXT_swap_control) { + glXSwapIntervalEXT(dpy, win, val); + } else if(GLX_SGI_swap_control) { + glXSwapIntervalSGI(val); + } +#endif +#ifdef _WIN32 + if(WGL_EXT_swap_control) { + wglSwapIntervalEXT(val); + } +#endif +}