glDebugMessageControl不可用

时间:2017-08-28 11:30:51

标签: opengl graphics jogl pyopengl

我目前正在MacBook Pro上使用JOGL和PyOpenGL来玩OpenGL。

但是我很快就遇到了很多示例代码崩溃的问题,因为glDebugMessageControl的地址不可用。首先,我在运行this code的Eclipse中使用JOGL时遇到了错误。

但是现在我尝试用Python调用相同的函数,我得到了同样的错误。 所以猜测它可能与硬件有关。

为什么OpenGL无法访问“glDebugMessageController”?

1 个答案:

答案 0 :(得分:2)

glDebugMessageControl是一个OpenGL 4.3函数,也通过KHR_debug core extension公开。您不得为其调用函数指针,除非您确认GL上下文的版本至少为4.3,或KHR_debug列为可用扩展名。如果不是这种情况,即使它不是NULL,调用函数指针也会是未定义的行为。

  

但是现在我尝试用Python调用相同的函数,我得到了同样的错误。所以猜测它可能与硬件有关。

与Apple有关。 Apple停止支持OpenGL,支持他们自己的Metal图形API,因此OpenGL在多年前就停留在OSX上。它根本不支持调试回调。