Linux ‘;glSwapInterval’;未在此范围中声明

Linux ‘;glSwapInterval’;未在此范围中声明,linux,windows,opengl,glx,Linux,Windows,Opengl,Glx,我正在尝试将OpenGL应用程序从Windows移植到Linux。 我被一个对glSwapInterval的调用卡住了,这个调用听起来并不特定于windows,但在Linux上似乎并不存在。我错过了什么 检查扩展名并使用glXSwapIntervalEXT() 使用类似(via,请参阅“特定于平台的扩展”一节)的方法可以简化扩展加载过程。检查扩展并使用glXSwapIntervalEXT() 使用类似(via,请参阅“特定于平台的扩展”部分)的方法可以简化扩展加载过程。没有glSwapInter

我正在尝试将OpenGL应用程序从Windows移植到Linux。 我被一个对
glSwapInterval
的调用卡住了,这个调用听起来并不特定于windows,但在Linux上似乎并不存在。我错过了什么

检查扩展名并使用
glXSwapIntervalEXT()

使用类似(via,请参阅“特定于平台的扩展”一节)的方法可以简化扩展加载过程。

检查扩展并使用
glXSwapIntervalEXT()


使用类似(via,请参阅“特定于平台的扩展”部分)的方法可以简化扩展加载过程。

没有
glSwapInterval(…)
,因为这基本上是一个窗口系统操作。OpenGL将管理windows和其他平台特定操作的任务分解为单独的窗口API,包括WGL(Microsoft windows)、GLX(X11)、EGL(OpenGL ES和其他一些系统)和CGL(OS X)


由于核心API和窗口系统API之间的这种分离,此函数的前缀将不是
gl
,就像
SwapBuffers
一样。在Linux上,您可能正在使用X11,因此请查找
glXSwapIntervalEXT(…)

没有
glSwapInterval(…)
,因为这基本上是一个窗口系统操作。OpenGL将管理windows和其他平台特定操作的任务分解为单独的窗口API,包括WGL(Microsoft windows)、GLX(X11)、EGL(OpenGL ES和其他一些系统)和CGL(OS X)


由于核心API和窗口系统API之间的这种分离,此函数的前缀将不是
gl
,就像
SwapBuffers
一样。在Linux上,您可能正在使用X11,因此请查找
glXSwapIntervalEXT(…)

是的,有一个文件执行
OPENGL_PROC2(PFNWGLSWAPINTERVALEXTPROC、SwapInterval、wglSwapIntervalEXT)和while
OPENGL_PROC2(PFNGLXSWAPINTERVALEXTPROC、SwapInterval、glXSwapIntervalEXT)听起来不错,它不起作用,因为glXSwapIntervalEXT需要另外两个参数。@user1273684:这两个额外参数是指向X11显示和渲染上下文的指针。WGL从主动绑定到调用线程的上下文中推断出这些内容,但GLX更显式一些。请参阅该函数的文档,并特别注意用法示例部分。您可以通过调用两个简单的
glXGet
函数轻松获取这两个参数和while
OPENGL_PROC2(PFNGLXSWAPINTERVALEXTPROC、SwapInterval、glXSwapIntervalEXT)听起来不错,它不起作用,因为glXSwapIntervalEXT需要另外两个参数。@user1273684:这两个额外参数是指向X11显示和渲染上下文的指针。WGL从主动绑定到调用线程的上下文中推断出这些内容,但GLX更显式一些。请参阅该函数的文档,并特别注意用法示例部分。您可以通过调用两个简单的
glXGet
函数轻松获取这两个参数。