函数调用glBindVertexArray(0)
,glGenVertexArrays(1, &vertex_array_object)
和glBindVertexArray(vertex_array_object)
导致我的程序崩溃。当我运行代码if(glGenVertexArrays == null)
时,它评估为true。这让我相信我没有正确加载这些功能。我正在使用DerelictGL3.load()
和DerelictGL3.reload()
加载我的功能,但我不确定它是否有效。其他函数似乎确实加载,只有与顶点数组对象有关的函数会使程序崩溃。
编辑: 我不确定实际问题是什么,但它似乎与Mac OSX加载OpenGL函数的方式有关。我的代码在Linux上没有崩溃。
答案 0 :(得分:0)
在调用DerelictGL3.reload()
之前,请确保创建了一个活动的OpenGL上下文(通过SDL或SFML或您使用的任何其他技术)。
否则,你只能获得一个最小的OpenGL子集的函数指针,比如OpenGL 1.1。