glDebugMessageControl 不可用

glDebugMessageControl is not available

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

但很快我就到了很多示例代码崩溃的地步,因为 glDebugMessageControl 的地址不可用。首先,我在 Eclipse 运行 this code.

中使用 JOGL 遇到了错误

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

为什么 OpenGL 无法访问 "glDebugMessageController"?

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

But now i tried to invoke the same function with Python and I got the same error. So guess it is probably hardware related.

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