FreeGLUT 3.0

Major work, its status and planned milestone. Help on any of these plans is very welcome!

FeatureStatusMilestone
Android portBasic but complete functionality by Sylvain Beucler, but there are todo pointsBasic functionality as is now done: 3.0. Future enhancements: 3.0 or later.
Blackberry OS 10 portBasic but complete functionality by Vinnie Simonetti.Basic functionality as is now done: 3.0. Future enhancements: 3.0 or later.
10bit display formatsGLUT supports that but FreeGLUT currently does not. Unfinished effort to implement here.3.0 or later.
GL2+ and GLES 1/2 clean API for geometryDone for all (geometry like cube, cone, etc, as well as the teapot and other parts of the teaset)3.0
GL2+ and GLES 1/2 clean API for fonts and menusNot sure what can be done here really. Menus will continue to work fine with OpenGL 3+ exclusive applications as long as the platform provides legacy contexts, as menus have their own rendering context. For text rendering, its probably best if the user looks at freetype and the like and avoids the use of FreeGLUT's text APIProbably impossible to do anything here
At runtime loading of OpenGL, OpenGL ES1 or OpenGL ES2 libraries, like SDL.Currently CMake variables define at compile time which of these three the library will be compiled against. No work has been done on moving this to an at-runtime API.Having this in 3.0 would be nice, but not essential.
Code reorganized such that platform-specific and display server-specific code are decoupledDone, thanks John Fay! This already led to a port to Android and support for GLES 1/2 on X11 (thanks Sylvain for both!), and paves the way for implementing native OSX and Wayland support3.0
Position callbackDone: we now have a position callback to notify the client when the position of the window changed.3.0
Carbon/Cocoa portNot started. As Carbon is legacy, one might want to port to Cocoa first or even forget about Carbon all together.Undecided
Wayland portNot started.Undecided
Complete glutInitDisplayString supportFreeGLUT now only partially supports glutInitDisplayString, any spec (comparator and value) after each token are ignored. This is a significant way in which FreeGLUT is not compatible with GLUT. Could be a nice project for someone who want to become familiar with the intricacies of requesting specific display formats on at least one of the various window servers (Windows, X11 and Android/EGL at the moment).Undecided