…or how to put many acronyms in one line.
I’ve finally found some time to work on the native Equalizer OpenGL window system implementation on OS X. So far I have a fully working X11/glX implementation, since that is what is needed on Linux anyway. The native implementation based on CGL was just a stub. At first I tried to keep the low-level CGL interface, to avoid having two implementations for AGL (Carbon) and NSGL (Cocoa).
After poking around in various undocumented CG (Quartz) features (CGSSurface, CGSConnection, CGSWindow) I’ve given up on the low-level CGL interface and converted the current code to AGL. Although various other projects have figured out how to use Quartz directly, my implementation crashed somewhere in CGLGetSurface. But since I wasn’t happy using undocumented API’s, the decision to ditch the low-level CGL approach was easy. It is just too bad that there is no official low-level windowing equivalent to CGL, or no way to bind a Carbon window to a CGLContextObj.
Since svn change 1165 Equalizer now uses AGL and is no longer limited to fullscreen-only, although event handling is still missing. Oh, and I’ll have to address NSGL at some point.