'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 (...),

Другие вопросы по тегам