2016-03-01 110 views
-1

因此,當在iMac上測試我的代碼時,我偶然發現了這些問題。 我正在使用SDL來初始化OpenGL上下文。如果我指定我需要具有SDL_GL_SetAttribute的核心配置文件(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_CORE);然後我得到一個OpenGL 4.1配置文件。如果我省略核心配置文件掩碼,它會給我一個2.1配置文件。 爲什麼?在OSX上的核心配置文件中獲得可用的opengl擴展

此外,就像規格說的,在覈心配置文件glGetString(GL_EXTENSIONS)已被棄用。所以,我試着用glGetStringi的方式,但唉,GL_NUM_EXTENSIONS沒有定義。如果我嘗試glGetStringi(GL_EXTENSION,0),我得到一個無效的指針。

然後獲得擴展的正確方法是什麼?這適用於其他操作系統。

謝謝

+0

「* GL_NUM_EXTENSIONS未定義*」這聽起來像你沒有使用支持OpenGL 3.0或更高版本的頭文件。使用適當的OpenGL加載庫。 –

+0

不確定你做錯了什麼。我再次檢查GL_NUM_EXTENSIONS是在OpenGL/gl3.h中定義的。 –

+0

gl3.h?我一直只添加gl.h和glext.h。也許這是事情......我明天會試試,謝謝。 –

回答

0

@Reeto,你的回答是正確的。我不知道Apple包含了一個單獨的標題,並且在包含該標題後,它終於有效。

如果你想創建一個答案,我會很樂意將它標記爲已接受。

謝謝。