I’ve just been playing around with GL_ARB_debug_output, a new extension introduced with OpenGL 4.3. This extension adds debugging capabilities to OpenGL, e.g. allowing you to have a callback fired by the OpenGL implementation that’ll inform you upon errors or even (heavily depending on the IHV) gives performance hints.
I wrote a small sample (in Delphi) that demonstrates this new functionality. It creates an OpenGL 4.3 forward compatible context (no more legacy stuff) with debugging capabilites and displays debug messages from your OpenGL driver.
It’s a pretty neat feature, and something that OpenGL has been missing for a long time. So from now on, instead of having to poll via glError, you can have the driver inform you when something is not correct and (even better) tell you about your performance caveats.
You can grab the source from the gldebug folder in my GIT repository over at bitbucket. I plan on adding OpenGL demos (with source) for some of the newer OpenGL features to that repository from time to time.
After several requests and after updating the headers, I decided to release updated sources for the SDL developer demos showcasing some of Newton’s features. Those updated demos (including sources) should be useful to both starters (to see how Newton 2.00 works) and people that already used 1.53, as there haven been some changes.
So the following demos now also have sources for Newton 2.00 : “Demo 01 – Basic demo”, “Demo 02 – Joints” and “Demo 03 – Buoyancy”. The demo for vehicles will be updated as soon as functionality for the vehicle container is added back into the Newton SDK. Due to it’s beta nature, Julio commented those functions out for the last beta release, so they can’t be used right now. The ragdoll demo also will be updated at some point, but the ragdoll interface changed heavily in Newton 2.00 and it’s still subject to changes. And finally the character controller demo won’t be updated, simply because newton now has a built-in character controller, so no more need to code this on your own.
Grab the sources here, get the latest beta headers and download the current beta SDK. Note that you’ll also need SDL and the SDL headers for pascal. I’ve compiled the demos with Lazarus and FPC 2.2.4 and they’re not using anything platform specific. So they should work with windows, linux and maybe even MacOSX.