Portal:Development Tools/Window Creation: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
Window creation info.
 
No edit summary
 
Line 1: Line 1:
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.
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.
{| class="wikitable"  
 
{| class="wikitable" style="background-color: inherit;"
|- valign="top"
|- valign="top"
| style="width: 33%;" |
| style="width: 33%;" |
These toolkits are designed specifically around creating and managing OpenGL windows. They also manage input, but little beyond that.
These toolkits are designed specifically around creating and managing OpenGL windows. These tools usually provide basic input and timing support, but little else.


; [http://freeglut.sourceforge.net/ freeGLUT]
; [[FreeGLUT]]
: A crossplatform windowing and keyboard/mouse handler. Its API is a superset of the GLUT API, and it is more stable and up to date than GLUT. It supports creating a core OpenGL context.
: A GLUT-compatible cross-platform windowing system. It is intended for demo applications.
; [http://www.glfw.org/ GLFW]
; [[GLFW]]
: A crossplatform windowing and keyboard/mouse/joystick handler. Is more aimed for creating games. Supports Windows, Mac OS X and *nix systems. Supports creating a core OpenGL context.
: A cross-platform windowing system. It is aimed mainly at the needs of games.
; [http://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit GLUT]
; GLUT
: Very old, '''do not use'''.
: Very old, '''do not use'''.
| style="width: 33%;" |
| style="width: 33%;" |
Line 15: Line 16:


; [http://alleg.sourceforge.net/ Allegro version 5]
; [http://alleg.sourceforge.net/ Allegro version 5]
: A cross-platform multimedia library with a C API focused on game development. Supports core OpenGL context creation.
: A C-based cross-platform multimedia library focused on game development. Supports core OpenGL context creation.
; [http://www.libsdl.org/index.php SDL]
; [http://www.libsdl.org/index.php SDL]
: A cross-platform multimedia library with a C API. Version 1.2 does not support core OpenGL context creation, but version 2.0 will.
: A C-based cross-platform multimedia library. Version 1.2 does not support core OpenGL context creation, but version 2.0 will.
; [http://www.sfml-dev.org SFML]
; [http://www.sfml-dev.org SFML]
: A cross-platform multimedia library with a C++ API. Supports creating a core OpenGL context.
: A C++-based cross-platform multimedia library. Supports creating a core OpenGL context.
| style="width: 33%;" |
| style="width: 33%;" |
Many [http://en.wikipedia.org/wiki/Widget_toolkit widget toolkits] have the ability to create OpenGL windows, but their primary focus is on being widget toolkits.
Many [http://en.wikipedia.org/wiki/Widget_toolkit widget toolkits] have the ability to create OpenGL windows, but their primary focus is on being widget toolkits.

Latest revision as of 05:52, 12 March 2013

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.