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!
Feature | Status | Milestone |
---|---|---|
Android port | Basic but complete functionality by Sylvain Beucler, but there are todo points | Basic functionality as is now done: 3.0. Future enhancements: 3.0 or later. |
BlackBerry 10 port | Basic but complete functionality by Vinnie Simonetti. | Basic functionality as is now done: 3.0. Future enhancements: 3.0 or later. |
callbacks with closures | Have versions of each callback that take an additional void* that is passed back to the user upon invocation. | 3.2 |
10bit display formats | GLUT supports that but FreeGLUT currently does not. Unfinished effort to implement here. | 3.0 or later. |
GL2+ and GLES 1/2 clean API for geometry | Done for all (geometry like cube, cone, etc, as well as the teapot and other parts of the teaset) | 3.0 |
handling non-western script input to windows | For Windows, see associated github branch. What can be done on the Linux side? | Figure this out for 3.2 |
option to not deinitialize when mainloop terminates | As is often requested, in some usage cases, it would be advantageous if FreeGLUT did not automatically deinitialize when its last window is closed. This has been implemented, but is awaiting testing on platforms other than windows. Discussed here. | As it has potential complications on mobile platforms, it was decided to leave this feature until after 3.0. |
High-DPI awareness. | As discussed here, it is unclear what should be done. See also associated github branch, though in the end maybe no code has to be added to FreeGLUT for this at all, its the host program's responsibility to decide on DPI awareness for his work. | Figure this out for 3.2 |
GL2+ and GLES 1/2 clean API for fonts and menus | For 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 library | The sooner the better, but will have to wait for asap after 3.0. |
At runtime loading of OpenGL or OpenGL ES libraries, like SDL. | Currently CMake variables define at compile time which of the two the library will be compiled against. No work has been done to move this to an at-runtime API. | After 3.0 |
Code reorganized such that platform-specific and display server-specific code are decoupled | Done, thanks John Fay! | 3.0 |
Position callback | Done: we now have a position callback to notify the client when the position of the window changed. | 3.0 |
Carbon/Cocoa port | Not started. As Carbon is legacy, one might want to port to Cocoa first or even forget about Carbon all together. | Undecided |
Wayland port | Not started. | Undecided |
Unicode support | Not started, we'd need to discuss this carefully on the mailing list first to minimize impact on the API. | Undecided |
Complete glutInitDisplayString support | FreeGLUT 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 |