2015-02-09 130 views
0

函數調用glBindVertexArray(0),glGenVertexArrays(1, &vertex_array_object)glBindVertexArray(vertex_array_object)導致我的程序崩潰。當我運行代碼if(glGenVertexArrays == null)它評估爲真。這導致我相信我沒有正確加載功能。我正在使用DerelictGL3.load()DerelictGL3.reload()加載我的功能,但我不確定它是否正常工作。其他函數雖然似乎加載,但只有與頂點數組對象有關的函數會使程序崩潰。glGenVertexArrays()崩潰DerelictGL3程序

編輯: 我不確定實際的問題是什麼,但它似乎與Mac OSX加載OpenGL函數的方式有關。我的代碼在Linux上不會崩潰。

回答

0

在致電DerelictGL3.reload()之前,請務必創建一個活動的OpenGL上下文(通過SDL或SFML或您使用的任何其他技術)。 否則你只會得到一個最小的OpenGL子集的函數指針,像OpenGL 1.1。

+0

我相信我。我使用SDL在類Display中創建了我的OpenGL上下文。顯示類在網格類之前被初始化。如果我刪除頂點數組函數調用,則上下文窗口不會崩潰。 – 2015-02-09 16:40:44