0

我正在尝试将 OpenGL 应用程序从 Windows 移植到 Linux。我被困在一个glSwapInterval听起来不是特定于 Windows 的电话上,但在 Linux 上似乎不存在。我缺少什么?

4

2 回答 2

2

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

由于核心 API 和窗口系统 API 之间的这种分离,因此该函数将按原样以除 之外的其他内容作为gl前缀SwapBuffers。在 Linux 上,您可能正在使用 X11,因此请查找glXSwapIntervalEXT (...).

于 2013-12-05T19:15:18.370 回答
2

检查GLX_EXT_swap_control扩展名并使用glXSwapIntervalEXT().

使用类似的东西GLEW(通过glxew.h,请参阅“平台特定扩展”部分)使扩展加载过程更容易。

于 2013-12-05T19:02:02.283 回答