0

I'm currently playing around with OpenGL using JOGL and PyOpenGL on my MacBook Pro.

But very quickly I came to the point where a lot of example codes crash, because the address of glDebugMessageControl is not available. First I experienced the error using JOGL in Eclipse running this code.

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

Why does OpenGL have no access to the "glDebugMessageController"?

Rabbid76
  • 202,892
  • 27
  • 131
  • 174
luke1110
  • 73
  • 5

1 Answers1

2

glDebugMessageControl is an OpenGL 4.3 function, also exposed through the KHR_debug core extension. You must not call the function pointer for it unless you verified that the version of your GL context is at least 4.3, or KHR_debug is listed as available extension. If that is not the case, it would even be undefined behavior to call the function pointer even if it were not 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.

It's Apple-related. Apple stopped supporting OpenGL in favor of their own Metal graphics API, so OpenGL is stuck in a state from years ago on OSX. It doesn't support debug callbacks at all.

genpfault
  • 51,148
  • 11
  • 85
  • 139
derhass
  • 43,833
  • 2
  • 57
  • 78
  • Apple OpenGL versions [here](https://support.apple.com/en-us/HT202823). – Ripi2 Aug 28 '17 at 14:43
  • Alright, thank you so much. I should probably install Windows or Linux on my Mac then, if I want to use the state-of-the-art OpenGL... :-/ – luke1110 Aug 29 '17 at 13:06