2016-03-01 1 views
-1

Итак, проверяя мой код на iMac, я наткнулся на эти вопросы. Я использую SDL для инициализации контекста OpenGL. Если я укажу, что мне нужен основной профиль с SDL_GL_SetAttribute (SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); то я получаю профиль OpenGL 4.1. Если я опускаю маску основного профиля, он дает мне профиль 2.1. Почему?Получение расширений opengl в профиле ядра на OSX

Кроме того, как говорит спецификация, в профиле ядра glGetString (GL_EXTENSIONS) устарел. Итак, я попытался перейти с помощью метода glGetStringi, но, увы, GL_NUM_EXTENSIONS не определен. Если я попробую glGetStringi (GL_EXTENSION, 0), я получаю недопустимый указатель.

Каков правильный способ получения расширений? Это работает на других ОС.

Thanks

+0

«* GL_NUM_EXTENSIONS не определен *« Похоже, вы не используете заголовки, поддерживающие OpenGL 3.0 или выше. Используйте подходящую библиотеку загрузки OpenGL. –

+0

Не уверен, что вы делаете неправильно. Я дважды проверил, что 'GL_NUM_EXTENSIONS' определен в' OpenGL/gl3.h'. –

+0

gl3.h? Я добавляю только gl.h и glext.h. Может быть, это и есть ... Я попробую завтра, спасибо. –

ответ

0

@Reto, ваш ответ был верным. Я не знал, что Apple включила отдельный заголовок, и после включения этого, он, наконец, работает.

Если вы хотите создать ответ, я с радостью помету его как принятый.

Спасибо.

Смежные вопросы