'glSwapInterval' не был объявлен в этой области
Я пытаюсь портировать приложение OpenGL с Windows на Linux. Я застрял при вызове glSwapInterval
который не звучит конкретно для Windows, но, похоже, не существует в Linux. Что я пропускаю?
2 ответа
Проверьте на GLX_EXT_swap_control
расширение и использование glXSwapIntervalEXT()
,
Используя что-то вроде GLEW
(с помощью glxew.h
см. раздел "Платформы, специфичные для платформы"), что облегчает процесс загрузки расширений.
Там нет такого понятия, как glSwapInterval (...)
потому что это принципиально операция с оконной системой. OpenGL разделяет задачу управления окнами и другими операциями, специфичными для платформы, на отдельные оконные API, которые включают WGL (Microsoft Windows), GLX (X11), EGL (OpenGL ES и некоторые другие системы) и CGL (OS X).
Из-за этого разделения между основным API и API оконной системы эта функция будет иметь префикс с чем-то иным, чем gl
, как только SwapBuffers
является. В Linux, скорее всего, вы используете X11, так что ищите glXSwapIntervalEXT (...)
,