我目前正在MacBook Pro上使用JOGL和PyOpenGL来玩OpenGL。
但是我很快就遇到了很多示例代码崩溃的问题,因为glDebugMessageControl
的地址不可用。首先,我在运行this code的Eclipse中使用JOGL时遇到了错误。
但是现在我尝试用Python调用相同的函数,我得到了同样的错误。 所以猜测它可能与硬件有关。
为什么OpenGL无法访问“glDebugMessageController”?
答案 0 :(得分:2)
glDebugMessageControl
是一个OpenGL 4.3函数,也通过KHR_debug core extension公开。您不得为其调用函数指针,除非您确认GL上下文的版本至少为4.3,或KHR_debug
列为可用扩展名。如果不是这种情况,即使它不是NULL
,调用函数指针也会是未定义的行为。
但是现在我尝试用Python调用相同的函数,我得到了同样的错误。所以猜测它可能与硬件有关。
与Apple有关。 Apple停止支持OpenGL,支持他们自己的Metal图形API,因此OpenGL在多年前就停留在OSX上。它根本不支持调试回调。