Related toolkits and APIs: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 34: Line 34:
* [http://www.fltk.org/ FLTK] : A small widget library.
* [http://www.fltk.org/ FLTK] : A small widget library.
* [http://freeglut.sourceforge.net/ freeGLUT] : A crossplatform windowing and keyboard/mouse handler. More up to date than GLUT.
* [http://freeglut.sourceforge.net/ freeGLUT] : A crossplatform windowing and keyboard/mouse handler. More up to date than GLUT.
* [http://glfw.sourceforge.net/ GLFW] : A crossplatform windowing and keyboard/mouse handler. Better than GLUT because it is up to date. Windows, Mac OS X and Unix-like systems such as Linux and FreeBSD.
* [http://glfw.sourceforge.net/ GLFW] : A crossplatform windowing and keyboard/mouse handler. Contrary to GLUT, this is more aimed for creating games. Windows, Mac OS X and Unix-like systems such as Linux and FreeBSD.
* [http://en.wikipedia.org/wiki/GLUT GLUT] : A crossplatform windowing and keyboard/mouse handler. Very old
* [http://en.wikipedia.org/wiki/GLUT GLUT] : A crossplatform windowing and keyboard/mouse handler. Very old, consider using the compatible freeGLUT instead.
** [http://www.xmission.com/~nate/glut.html GLUT binary and source for Win32] : Nate Robins, precompiled and source for Win32
** [http://www.xmission.com/~nate/glut.html GLUT binary and source for Win32] : Nate Robins, precompiled and source for Win32
* [http://www.trolltech.com/products/qt/index.html Qt] : A toolkit which abstracts the Linux, MacOS X and Windows away.
* [http://www.trolltech.com/products/qt/index.html Qt] : A toolkit which abstracts the Linux, MacOS X and Windows away.

Revision as of 23:54, 18 January 2010

Toolkits top on OpenGL

Many programming interfaces are layered on OpenGL with rich and varied functionality. Not all can interoperate.

Extension libraries

A extension libraries simplifies the work with OpenGL extensions.

GLEW
A extension library for Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.

Get functions pointer to OpenGL functions with this library!

GLee
A extension library for Windows, Linux and FreeBSD.

Get functions pointer to OpenGL functions with this library!

Scene graphs

A scene graph works on the top of OpenGL.

Open Scene Graph
This scene graph works on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris and FreeBSD.
OpenSG
It's a scene graph which works on IRIX, Windows and Linux.
Gizmo3D
This scene graph works on all Windows platforms, OSX, GNU/Linux, and IRIX.

Game engines

Panda3D
A 3D game engine with python bindings.
Delta3D
Game engine based on Open Scene Graph and ODE.

Toolkits to bridge OpenGL and the Window System

OpenGL knows nothing about the surrounding window system. You need widget toolkit to bridge OpenGL and the window system. The widget toolkit abstract the interface for connecting the windows system and OpenGL like WGL, GLX and AGL away. There are many toolkits for that task. Most modern widget libraries provide this support.

Cross-platform Toolkits

  • Equalizer: A crossplatform framework for the development and deployment of parallel OpenGL applications for large scale graphics clusters and multi-GPU workstations.
  • FLTK : A small widget library.
  • freeGLUT : A crossplatform windowing and keyboard/mouse handler. More up to date than GLUT.
  • GLFW : A crossplatform windowing and keyboard/mouse handler. Contrary to GLUT, this is more aimed for creating games. Windows, Mac OS X and Unix-like systems such as Linux and FreeBSD.
  • GLUT : A crossplatform windowing and keyboard/mouse handler. Very old, consider using the compatible freeGLUT instead.
  • Qt : A toolkit which abstracts the Linux, MacOS X and Windows away.
  • SDL : A crossplatform windowing and keyboard/mouse handler. Better than GLUT because it is up to date. SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.
  • SFML : A cross-platform multimedia C++ API that provides you low and high level access to graphics, input, audio, etc. Free, still updated and written in C++.

Image and Texture Libraries

  • DevIL: DevIL stands for Developers Image Library. It supports many image formats for reading and writing, it supports several compilers and OS (Win, Linux, Mac OSX). The library has a OpenGL-like syntax. It has not been updated recently.
  • FreeImage: FreeImage is an cross-platform image-loading library, with very wide support for image formats (including some HDR formats like OpenEXR).
  • SOIL: SOIL ( Simple OpenGL Image Loader ) is a public-domain cross-platform image loader that's extremely small.

Sound or Audio Libraries

OpenAL
OpenAL stands for Open Audio Library. It is maintained by people at Creative and nVidia and users. Multi OS support (Win, Linux, Mac OSX). The library has a OpenGL like syntax so it is easy to use. Closed source and open source portions. Access to special SoundBlaster features through extensions.