From GPWiki
Libraries are split into the following categories:
AI
Audio
| Name | Language | Platform | Description
|
| Audiere | C++ | Cross-Platform | Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. For audio output, Audiere supports DirectSound or WinMM in Windows, OSS on Linux and Cygwin, and SGI AL on IRIX.
|
| BASS | C | Cross-Platform | Commercial, HGE uses it as a freeware audio library, but licence requires you to purchase BASS for commercial projects.
|
| Dumb | C | Cross-Platform | Freeware module player library
|
| FMod
|
| irrKlang | C++ | Cross-Platform | Free 2D and 3D audio library
|
| OpenAL | C | Cross-Platform |
|
| SDL | C | Cross-Platform | Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. Primarily handles wav files for sound. For support of other audio formats another sound library is needed.
|
| SDL_mixer | C | Cross-Platform | SDL_mixer is an extension library to SDL that provides the ability to play multiple sound files and music simultaneously. It supports many different audio formats and provides interfaces to easily load them. Being an extension to SDL, it is simple, portable, and available under the GNU LGPL.
|
Character Animation
| Name | Language | Platform | Description
|
| EMotionFX | C/C++ | PC, Mac, Linux, Xbox360, other Nextgen consoles | EMotion FX is a realtime character animation system designed to be plugged into any 3D engine, game or any other product.
EMotion FX supports next generation multi-core, multithreaded consoles and PC as well as single threaded environments.
|
Compression
| Name | Language | Platform | Description
|
| bzip2 | C, Python | Cross-Platform | Good compression, BSD
|
| gzip | C, C++, Python | Cross-Platform | Command line tool for zlib compression, Fast compression, BSD
|
| lzf | C | Cross-Platform | Very fast, Very small, BSD
|
| LZMA | C, C++, C#, Java | Cross-Platform | The one that 7-zip uses, Good and fast, public domain
|
| lzo | C, Perl, Python, Java | Cross-Platform | Very fast decompression, Small memory footprint, GPL/commercial license
|
| unrarlib | C | Cross-Platform | Good compression (RAR2), GPL/custom license
|
| zlib | C, Python | Cross-Platform | Fast compression, BSD
|
| fastLZ | C | Cross-Platform | Very Fast decompression (in place), MIT License
|
GUI
| Name | Language | Platform | Description | License
|
| Agar | C/C++ | Windows, Linux, Mac OS | Agar is a modern open-source, cross-platform toolkit for graphical applications implemented in C, C++, Perl and Ada. Unlike most other GUI toolkits, Agar takes maximum advantage of hardware graphics acceleration when it is available via OpenGL, but it also supports traditional framebuffer interfaces such as SDL direct video. The Agar API is entirely thread-safe when Agar is compiled with optional threads support. | BSD license
|
| AntTweakBar | C/C++ | Windows, Linux | AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs to interactively tweak them. It is a small and easy to use library that can be readily integrated into OpenGL and DirectX applications. | zlib/libpng license
|
| Crazy Eddie's GUI System | C++ | Windows, Linux, Mac OS | Crazy Eddie's GUI System is a free library providing windowing and widgets for graphics APIs / engines where such functionality is not natively available, or severely lacking. The library is object orientated, written in C++, and targeted at games developers who should be spending their time creating great games, not building GUI sub-systems! | LGPL, MIT
|
| GTK+ | C | Linux and other UNIX variants, Windows | A robust, mature, cross-platform GUI toolkit used by the GNOME desktop environment. | LGPL
|
| gtkmm | C++ | Same as GTK+ above | A very nice C++ wrapper for GTK+ | LGPL
|
| Guichan GUI | C++ | Windows, Linux, Mac OS | Guichan is a portable C++ GUI library designed for games using Allegro, SDL and/or OpenGL | BSD license
|
| OpenGUI | C++ | Windows, Linux coming soon | Extendable widget based GUI framework for 3D applications. Works with any graphics API or render engine. Comes with reference implementations for OpenGL and the Ogre rendering engine. Library is written in C++, aimed at game developers. | BSD license
|
| Qt cross-platform development library | C++ | Linux and other UNIX variants, Mac OS X, Windows | A robust, intuitive, theme-able, multi-platform GUI library, that also includes an extensive set of non-GUI tools, such as XML parsing. As of version 4.4, is now able to render transparent widgets on top of an OpenGL surface. This is the GUI toolkit behind the K Desktop Environment. | LGPL, GPG and Qt Commercial license
|
| Tk | TCL, Perl, Python, Ruby, others | *nix, Win32, Mac OS X | A non-native (Motif-look) toolkit coupled closely with Tcl | BSD-style license
|
| wxWidgets Crossplatform GUI libary | C++, Python, Perl, C#/.NET | Linux, Windows, Mac OS X, WinCE | wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. | wxWindows license (the LGPL with an exception to the distribution of binary form)
|
General Multipurpose Libraries
| Name | Language | Platform | Description
|
| Allegro
| C/C++
| DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X
| Allegro is a game programming library for C/C++ developers distributed freely. It provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI.
|
| Amaltheia
| C/C++
| Linux, Windows
| Amaltheia is a cross-platform game programming API that supports two backends, OpenGL and DirectX. The aim of the Amaltheia project is to create an intuitive and simple to use library, providing core 3d and 2d functionality in a platform independent manner. It also provides platform independence regarding basic network functions, input handling, threads and sound. Currently the GNU/Linux and the Windows OSes are supported.
Amaltheia library has the advantage of using the native graphics system (DirectX under Windows, OpenGL under Linux), thus achieving maximum performance. Developers using Amaltheia dont need to take care of the underlying details (be it Win32 or Linux). Amaltheia hides the differences through its API. The developer writes a unique code for the games/application that compiles and executes in both OSes.
|
| ClanLib
|
| DirectFB
|
| DirectX
| C/C++ & .NET
|
| G3D
| | Win32, OS X, Linux
| Free library for managing graphics, networking, model loading, and basic 3D support code for games in C++.
|
| GLFW
| C, Python | GL Framework. Windows, Linux, SGI Irix, FreeBSD, SUN Solaris/SunOS, QNX, Mac OSX, AmigaOS, MS-DOS
| OpenGL Windowing framework with high-resolution timers, TGA loader, optional callback input routines
|
| JGT
| Java | Multiplatform
| Focuses on higher-level primitives for writing games in Java. LGPL license
|
| Kyra
| C/C++
|
| NeL
|
| OGLWFW
| C++ | Windows
| OpenGL Window Framework. Window framework for OpenGL supports multiple windows, querying display modes, zlib license
|
| PLIB
|
| Prototype
| JavaScript
| Any platform that rus IE6/7, Safari or Firefox
| Prototype is a JavaScript Framework that aims to ease development of dynamic web applications.
|
| Pygame
| Python
| Everywhere SDL runs.
| Basically a Python-wrapped SDL. Plus some assorted features.
|
| pyglet
| Python
| OS X, Linux, and Windows
| Similar feature set to PyGame but faster and with no dependencies
|
| SDL
| C/C++
|
| Tao Framework
| .NET / Mono | Windows(.NET), Linux / Mac OS X / Solaris / et al (Mono)
| Mono / .NET bindings for several APIs and libraries, including OpenGL, OpenAL, Lua, SDL, GLFW, FreeGLUT, PhysicsFS, ODE, Cg, DevIL, and the Windows API.
|
| TEKlib
|
Graphics
| Name | Language | Platform | Description
|
| Allegro | C/C++ | Windows, Linux | Cross platform games programming library.
|
| DirectX | C/C++/.NET/VB | Windows, XBox | The Direct3D and DirectDraw components of DirectX are used for 3D and 2D rendering in most Windows platform games.
|
| Irrlicht | C/C++/.NET | Windows, Linux, Mac | The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
|
| OpenGL | C, but bindings exist for most languages | Windows, Linux, MacOS X | A low-level 3D graphics library. Most other 3D libraries use either this or DirectX to do their actual rendering.
|
| SDL | C, but bindings exist for most languages | Windows, Linux, MacOS X | SDL (Simple DirectMedia Library) is a cross platform library designed for simple 2D graphics. It also provides basic input and sound functions and is able to use OpenGL for 3D rendering.
|
Image
Miscellaneous
Networking
| Name | Language | Platform | Description
|
| Winsock
| C, C++, C#
| Windows
| Winsock is a robust low level networking API, which is also very similar to UNIX BSD sockets.
|
| Boost.ASIO
| C++
| Any
| A Boost-integrated library with an elegant C++ interface for Asynchronous or Synchronous IO operations for sockets. Accepted to Boost, but not yet in the main distribution.
|
| libpkg
| C
| Any
| BRL-CAD's libpkg Network Package Library, simple interface for synchronous or asynchronous network transport
|
| HawkNL
|
| Quazal
|
| OpenTNL
|
| SDL_net
|
| Zoidcom
|
| RakNet
|
| DemonWare
|
| eNet
|
|
| A wrapper over UDP allowing multipule reliable or unreliable streams through a single socket.
|
| Twisted
| Python
| Any
| A highly recommended asynchronous networking framework for Python
|
| Zig
|
| Grapple
| C
| Linux
| A high level network layer designed to remove the hard work from making applications multiuser. Supports TCP and UDP. Includes lobby implementation. LGPL license.
|
Pathfinding
Physics
Text Rendering
XML
| Name | Language | Platform | Description
|
| C++ XML Parser | C++ | Win,Lin,Mac | 2 files(.h and .cpp) and 104 kB
|
External Links
|
|