2015-02-09 45 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