FreeGLUT 3.0

Major work, its status and planned milestone. Help on any of these plans is very welcome! Fork the github repository, join and contact us on the freeglut-developer mailing list to discuss your plans, and get cracking!

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 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 menusFor stroke fonts, we can use a similar approach as for the shapes, should thus be straightforward. For the bitmap fonts, this is more complex. John T suggested "using a glyph atlas texture with GL_STREAM_DRAW VBOs", which would get us somewhere. Code could be ripped from his libdrawtext libraryThe sooner the better, but will have to wait for asap after 3.0.
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
Unicode supportNot started, we'd need to discuss this carefully on the mailing list first to minimize impact on the API.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/BlackBerry 10/EGL at the moment).Undecided