Toolkit survey: GLFW

Hi all,

Together with Jim Mathies I am creating a comparison between various OpenGL toolkits and widget libraries. The end result will be available through the OpenGL Toolkit FAQ: www.mathies.com/glfaq

If you have any experience with the toolkit/widget library mentioned in the topic, feel free to post your comments in this thread.

  1. What is the purpose of the toolkit?
    1A Gaming
    1B Applications
    1C Demo building

  2. What platforms are supported?
    2A Apple - which OS
    2B Linux
    2C Unix - which ones
    2D Win32 - which one of not all
    2E Other

  3. What languages can be used with the toolkit?
    3A C/C++
    3B Delphi
    3C Java
    3D (Visual) Basic
    3E Other

4.What compilers can be used with the toolkit?
4A MingW32
4B LCC-Win32
4C MSVC++
4D Borland C++
4E GCC (Unix)
4F cc (Unix)
4G Other

  1. What is the target audience of the toolkit?
    5A Beginner
    5B Intermediate
    5C Expert

  2. Please give some information about the current maintenance status of the
    toolkit
    6A Is it actively maintained
    6B What is the current released version, when was it released
    6C What where the previous three major releases, when were they released

  3. What type of license is required to use the toolkit?

  4. Is all sourcecode of the toolkit available for inspection?

  5. How is the toolkit deployed?
    9A using static libraries
    9B using dynamic libraries

  6. What is the approximate size of the library?

  7. What prerequisites/dependencies does the toolkit have?

  8. What are the graphical features of the toolkit?
    (this section can be as elaborate as you want)
    12A Extension support
    12B Fullscreen support
    12C GUI-controls/widgets available
    12D Input handling: joystick support
    12E Input handling: keyboard support
    12F Input handling: mouse support
    12G (win32): DirectInput support
    12H Multi-state support
    12I Multiple windows support
    12J Rendering loop (if present, is it extendable)
    12K Resolution/color depth selection
    12L Screen capturing and printer features
    12M Text output handling
    12N Texture management

  9. What other features are present in the toolkit?
    (again, be as elaborate as you want)
    13A Multi-threading support
    13B Network support
    13C OO-framework (extendable/inheritable)
    13D Scripting language(s)
    13E Sound support
    13F Supported file formats
    13G Timer functions

  10. What other things do you want to add regarding your toolkit?

Hello Jean-Marc,

Here are the answers for GLFW v2.0.x (presently available to the public). There are many changes for v2.1 (currently in development), but I will send you the updates by the time of release.

  1. What is the purpose of the toolkit?
    1A Yes
    1B Not primarily
    1C Yes

  2. What platforms are supported?
    2A No
    2B Yes
    2C Yes (most of them, tested with SunOS, IRIX and OSF/1)
    2D Yes (tested with 98,NT4,2000 & XP)
    2E No

  3. What languages can be used with the toolkit?
    3A Yes (C and C++)
    3B No
    3C No
    3D No
    3E No

4.What compilers can be used with the toolkit?
4A Yes
4B Yes
4C Yes
4D No
4E Yes
4F Yes
4G Cygwin. Most ANSI C compatible compilers (may require additional makefiles)

  1. What is the target audience of the toolkit?
    5A Yes
    5B Yes
    5C Yes

  2. Please give some information about the current maintenance status of the toolkit
    6A Yes
    6B 2.0.3 (Mar 21 2002)
    6C 2.0.2 (Mar 14 2002), 2.0.1 (Feb 25 2002), 2.0.0 (Feb 17 2002)

  3. What type of license is required to use the toolkit?
    GLFW is totally free. It can be modified and used by both free and commercial software.

  4. Is all sourcecode of the toolkit available for inspection?
    Yes

  5. How is the toolkit deployed?
    9A Yes
    9B No

  6. What is the approximate size of the library?
    15-50 KB (depending on OS, compiler, compiler settings, and how much of the library is actually used)

  7. What prerequisites/dependencies does the toolkit have?
    None

  8. What are the graphical features of the toolkit?
    (this section can be as elaborate as you want)
    12A Yes
    12B Yes
    12C No
    12D No
    12E Yes
    12F Yes
    12G No
    12H No
    12I No
    12J No (custom “while loop”)
    12K Yes
    12L No
    12M No
    12N No

  9. What other features are present in the toolkit?
    (again, be as elaborate as you want)
    13A Yes
    13B No
    13C No
    13D No
    13E No
    13F None
    13G Yes (read free running timer)

  10. What other things do you want to add regarding your toolkit?
    The primary goals of GLFW are ease of use, portability and compact code (in a way, GLFW can be thought of as a minimalist OpenGL toolkit). Yet, GLFW is hopefully powerful enough to be useful for large projects such as games. Some functionality, such as sound output and font rendering, is left to competent specialized toolkits (such as FMOD and GLF).