Ladies and Gentlemen,

        The "freeglut" development community is pleased to announce the release of "freeglut" 2.4.0 last Friday.  It has been more than a year since the previous release of a "freeglut" version.  Changes since then include:

        - The joystick code was completely rewritten; in addition, the joystick code is now initialized only if the user specifies a joystick callback

        - Support for Windows CE was added
        - Numerous bug fixes
        - Improved the support for Game Mode so that now it (we think) works
        - Made error handling a little more user-friendly.  Now font errors give warning messages and simply don't print the text rather than crashing the program.  Also, the "asserts" have been changed to errors that print relevant messages.

        - The display mode string accepts British spellings ("grey", "colour", etc.)
        - Revamped the cursor code somewhat, adding some more Windows cursors
        - Added support for the "GLUT_AUXn" color buffers
        - Added French-language and Windows-specific README files
        - Added code to Windows timing to allow for millisecond granularity in the execution time
        - Added window exit event handling to the Windows code
        - Added handling for negative position specifications for subwindows
        - Implemented more menu fixes.  Menus should work now.

Users should note a new incompatibility with GLUT, in which GLUT allowed the application to call some functions before "glutInit" was called.  This is contrary to both good programming practice and the GLUT documentation, and the new "freeglut" enforces the initial call to "glutInit".

        The new "freeglut" library may be downloaded from:

        It may also be obtained through the webpage:

        Bugs, kudos, complaints, and requests for upgrades may be addressed to the undersigned or to the "freeglut" developers' mailing list at


        Congratulations everyone, and thanks to all of the developers for another job well done!

John F. Fay