Portal:Development Tools/Window Creation

From OpenGL.org
Jump to: navigation, search

The creation of a window to render stuff in is not covered in the OpenGL specification. This is handled by platform-specific APIs. These APIs have been abstracted in many toolkits.

These toolkits are designed specifically around creating and managing OpenGL windows. These tools usually provide basic input and timing support, but little else.

FreeGLUT
A GLUT-compatible cross-platform windowing system. It is intended for demo applications.
GLFW
A cross-platform windowing system. It is aimed mainly at the needs of games.
GLUT
Very old, do not use.

Several "multimedia libraries" can create OpenGL windows, in addition to input, sound and other tasks useful for game-like applications.

Allegro version 5
A C-based cross-platform multimedia library focused on game development. Supports core OpenGL context creation.
SDL
A C-based cross-platform multimedia library. Version 1.2 does not support core OpenGL context creation, but version 2.0 will.
SFML
A C++-based cross-platform multimedia library. Supports creating a core OpenGL context.

Many widget toolkits have the ability to create OpenGL windows, but their primary focus is on being widget toolkits.

FLTK
A small C-based widget library.
Qt
A C++ toolkit which abstracts the Linux, MacOS X and Windows away. It provides a number of OpenGL helper objects, which even abstract away the difference between desktop GL and OpenGL ES.
wxWidgets
A C++ cross-platform widget toolkit.