天天看点

/Developer Portal/Free Game Development Libraries

The following list is a collection of open source libraries, SDKs, frameworks, engines, tools, and utilities which might come in handy for your (game development) projects. With one exception, the Golden T Game Engine, which has been developed in Java, all of the listed libraries are written in C/C++.

Special thanks go out to Ben Sizer a.k.a. Kylotan from Gamedev.net's community forum.

Content:

  • 2D Graphics
  • 3D Graphics Engines
  • 3D Game Engines
  • Artificial Intelligence
  • Audio (Sound & Music)
  • Collision Detection
  • Compression
  • Encryption
  • Font Handling
  • General Purpose
  • Graphical User Interfaces
  • Image Handling
  • Mathematics
  • Mesh Optimization and Preprocessing
  • Model Handling & 3D Character Animation
  • Multimedia/Game Libraries
  • Networking
  • Physics
  • OpenGL
  • OpenGL Extension Handling
  • Scripting Languages
  • SDL - Simple DirectMedia Layer
  • Visualization
  • Widget Toolkits
  • XML
  • Unsorted

Latest updates:

  • July 17, 2008: Added Arauna, a real-time ray tracer, by Jacco Bikker
  • July 13, 2008: Added Phya by Zenprobe
  • July 6, 2008: Added Drome Engine by Josh Beam
  • July 1, 2008: Added dclib, Detours, Geometry Utility Library, Havok, libQGLViewer, libRocket, Pantheios, POCO C++ Libraries, Tiny Template Library, Visualization Library, as well as FLTK, FOX Toolkit, Qt Cross-Platform Application Framework, and wxWidgets
  • April 29, 2008: Added ACTC by Brad Grantham and The Mesh SDK by Mike Chow
  • April 20, 2008: Added AES by Chris Lomont, Box2D by Erin Catto, Glyph Keeper by Kirill Kryukov, GNE by Jason Winnebeck, and PMASK
  • March 27, 2008: Added CML (Configurable Math Library) by Jesse Anders
  • March 22, 2008: Added FreeSG by Hypertriton, Inc., Cyclone Physics Simulator by Ian Millington, Right Brain Games GUI and Mocha by Right Brain Games as well as the Wild Magic Graphics Engine by David Eberly
  • February 29, 2008: Added Dirent by Kevlin Henney and glpng by Ben Wyatt
  • February 26, 2008: Added LodePNG by Lode Vandevenne
  • February 6, 2008: Added XMLParser by Frank Vanden Berghen
  • January 8, 2008: Added stbi by Sean Barrett

2D Graphics  

CDX Library

www.cdxlib.com

Description:

CDX is a free Game Development Kit which is comprised of a set of C++ wrapper classes for writing Windows games. It is built on top of Microsoft Windows and DirectX technology and offers simple to use C++ wrappers for all aspects of game development. This includes things like sprites, tiles, scollable maps, alpha blending and even 3D primitives (using Direct3D). CDX takes care of the low-level details of using DirectX, providing you with an easy to use toolkit for implementing your own games using simple yet flexible C++ classes. With only a handful of classes, CDX is quick to learn and easy to use.

Added:

October 31, 2004

Eclipse 2D Game Engine

eclipseeng.sourceforge.net

Author:

 JGH

License:

LGPL

Added:

October 31, 2004

Golden T Game Engine

goldenstudios.or.id/products/GTGE/

Description:

Golden T Game Engine (GTGE) is an advanced cross-platform game programming library written in

Java

language. GTGE library provides a complete routines for making 2D game, from low level routines such as hardware accelerated 2D graphics, mouse and keyboard input, audio, timing, to game specific routines such as sprite, background, collision detection.

Author:

 Paulus Tuerah

License:

free, but requires credits

Added:

March 28, 2005

hxRender

mavweb.mnsu.edu/longaj/hxrender/

Author:

 Joel Longanecker

License:

zlib

Platforms:

Windows, GNU/Linux, MacOS X

Added:

October 31, 2004

Haaf's Game Engine - Hardware accelerated 2D game engine

hge.relishgames.com

License:

Free for non-commercial use

Platforms:

Windows

Added:

October 31, 2004

3D Graphics Engines  

Arauna - Real-Time Ray Tracing

igad.nhtv.nl/~bikker/

Description:

Arauna is a real-time ray tracer developed for game development.

Author:

 Jacco Bikker

License:

Free for non-commerical use

Added:

July 17, 2008

Crystal Space 3D

www.crystalspace3d.org

Description:

Crystal Space is a free and portable 3D Game Development Kit written in C++.

License:

LGPL

Platforms:

GNU/Linux, Unix, Windows, MacOS X

Added:

October 31, 2004

Delta3D

delta3d.org

Description:

A well-supported and fully-funded open source project, Delta3D is a full-function game engine appropriate for a wide variety of modeling & simulation applications.

License:

LGPL

Added:

March 28, 2005

Demeter Terrain Engine

demeter.sourceforge.net

Description:

Demeter is a cross-platform C++ library that renders 3D terrains using OpenGL. Demeter is designed for fast performance and good visual quality and makes use of advanced techniques such as dynamic tessellation (adaptive mesh) to render vast landscapes in real-time, without the need for high-end hardware. It is written as a stand-alone component that can be easily integrated into any kind of application.

Author:

 Clay Fowler

License:

LGPL

Added:

October 31, 2004

ExNihilo

www.ploksoftware.org

Description:

ExNihilo engine is new technology based on multi manager system.

Added:

October 31, 2004

FreeSG

www.freesg.org

Description:

FreeSG is a portable, high-level open-source 3D engine with an emphasis on generality.

Authors:

 Hypertriton, Inc.

License:

BSD

Added:

March 22, 2008

G3D C++ Library

g3d-cpp.sourceforge.net

Description:

G3D is a commercial-grade 3D Engine available as Open Source. It is used in games, tech demos, research papers, military simulators, and university courses. It can support real-time rendering, off-line rendering, back-end game server management of 3D worlds, and use of graphics hardware for general purpose computing.

Authors:

 Morgan McGuire, Peter Sibley, Ben Landon, Peter Hunt, Giulio Mainardi, Gabe Taubman

License:

BSD

Platforms:

Windows, GNU/Linux, MacOS X

Added:

October 31, 2004

Genesis3D Engine

www.genesis3d.com

Description:

Genesis3D is a real-time 3D rendering environment for all of your real-time 3D needs.

Added:

October 31, 2004

Horde3D - Next-Generation Graphics Engine

www.nextgen-engine.net

Description:

Horde3D is a small open source 3D rendering engine. It is written in an effort to create a graphics engine that offers the stunning visual effects expected in next-generation games while at the same time being as lightweight and conceptually clean as possible. Horde3D has a simple and intuitive interface accessible from virtually any programming language and is particularly suitable for rendering large crowds of animated characters in next-generation quality.

Author:

 Nicolas Schulz

License:

LGPL

Added:

October 6, 2007

Irrlicht Engine

irrlicht.sourceforge.net

Description:

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.

Author:

 Nikolaus Gebhardt

License:

zlib

Platforms:

Windows, GNU/Linux

Added:

October 31, 2004

Jet3D

www.jet3d.com

Added:

October 31, 2004

Lightfeather

lf.mmdevel.de/news.php

Description:

Lightfeather (formerly Irrlicht NX++) is an open source 3D Engine for MacOSX, Windows and Linux.

License:

zlib/libpng

Platforms:

Windows, GNU/Linux, MacOS X

Added:

October 31, 2004

Nebula Device 2

nebuladevice.cubik.org

Description:

Nebula Device is an open source realtime 3D game/visualization engine, written in C++. Version 2 is a modern rendering engine making full use of shaders.

Platforms:

Windows, GNU/Linux, MacOS X

Added:

October 31, 2004

NVSG SDK

developer.nvidia.com/object/nvsg_home.html

Description:

The nVIDIA Scene Graph Software Development Kit is an object-oriented programming library for creating scene graph-based applications.

Author:

 nVIDIA

Added:

October 31, 2004

Ogre3D

www.ogre3d.org

Description:

Ogre (Object-oriented Graphics Rendering Engine) is an open-source graphics rendering engine.

License:

LGPL

Added:

October 31, 2004

OpenSceneGraph

www.openscenegraph.org

Description:

The OpenSceneGraph is an open source high peformance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling.

License:

OpenSceneGraph Public License (based on the LGPL)

Platforms:

Windows, MacOS X, GNU/Linux, IRIX, Solaris, FreeBSD

Added:

October 31, 2004

SGL - A 3D Scene Graph Library

sgl.sourceforge.net

Description:

SGL consists of a set of cross-platform C++ libraries, built on top of OpenGL, which implements 3D scene graph functionality, some simple 3D model loaders, and some miscellaneous utilities.

Added:

October 31, 2004

SxDL Game Development Toolkit

sxdl.sourceforge.net

Description:

SxDL is a powerful and an easy to use 2D and 3D Game Development Framework for MS Windows and MS DirectX.

License:

GPL

Added:

October 31, 2004

Wild Magic Real-Time 3D Graphics Engine

www.geometrictools.com

Author:

 David Eberly

License:

LGPL

Added:

March 22, 2008

XEngine

xengine.sourceforge.net

Description:

XEngine is a platform- and rendering-API-independent 3D engine for real-time visualization with support for programmable graphics pipeline architectures and is implemented in C++. The engine aims at flexible support for many of the shading languages available today, so that existing shaders can easily be re-used. This includes current assembler-like languages as well as high-level languages, such as NVIDIA's Cg. In addition, integration of new shading languages should be easily possible with the engine's design.

Author:

 Martin Ecker

License:

zlib

Added:

October 31, 2004

Yake

www.yake.org

Description:

Yake is a small, flexible, cross-platform game engine/application framework.

License:

LGPL

Added:

March 28, 2005

3D Game Engines  

Apocalyx

apocalyx.sourceforge.net

Description:

Apocalyx is an OpenGL 3D engine. The current implementation supports Win98 (or higher) and accelerated 3D graphic cards with OpenGL drivers.

License:

GPL

Platforms:

Windows

Added:

October 31, 2004

Cube Engine

www.cubeengine.com

Description:

Cube is an open source multiplayer and singleplayer first person shooter game built on an entirely new and very unconventional engine. Cube is a landscape-style engine that pretends to be an indoor FPS engine, which combines very high precision dynamic occlusion culling with a form of geometric mipmapping on the whole world for dynamic LOD for configurable fps & graphic detail on most machines. Uses OpenGL & SDL.

Author:

 Wouter van Oortmerssen

License:

zlib

Added:

October 31, 2004

Drome Engine

www.3ddrome.com/engine.php

Author:

 Josh Beam

Added:

July 6, 2008

Fly3D

www.fly3d.com.br

Description:

Fly3D is a plugin-oriented, OpenGL-based 3D games engine and development kit. It offers rendering, input, sound and scene control methods for game programmers to build their game software, as well as a variety of tools for game developers to add and modify content to game projects.

Authors:

 Alan Watt, Fabio Policarpo

License:

GPL

Added:

October 31, 2004

NeoEngine

www.neoengine.org

Description:

NeoEngine is an Open Source 3D game engine

License:

MPL

Added:

October 31, 2004

Panda3D

panda3d.etc.cmu.edu

Description:

The free open source game and simulation engine, developed by Disney and maintained by Carnegie Mellon University's Entertainment Technology Center.

License:

Free

Added:

March 28, 2005

QuakeForge

www.quakeforge.net

Description:

QuakeForge is a 3D graphics game engine based on id Software's legendary Quake and QuakeWorld game engine.

License:

GPL

Added:

October 31, 2004

Tenebrae

tenebrae.sourceforge.net

Description:

Tenebrae is a modification of the quake source that adds stencil shadows and per pixel lights to quake.

Added:

October 31, 2004

Artificial Intelligence  

FEAR - Foundations for Genuine Game AI

fear.sourceforge.net

License:

GPL

Added:

September 13, 2007

MicroPather

www.grinninglizard.com/MicroPather/

Description:

Pathing Made Simple. MicroPather is a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code. MicroPather focuses on being a path finding engine for video games but is a generic A* solver.

Author:

 Lee Thomason

License:

zlib

Added:

September 13, 2007

OpenSteer

opensteer.sourceforge.net

Description:

OpenSteer is a C++ library to help build steering behaviors for autonomous characters in games and animation. OpenSteer provides an app which displays predefined demos of steering behaviors. You can prototype, visualize and debug your own as a plug-in.

Author:

 Craig Reynolds

License:

MIT

Platforms:

Windows, All POSIX (Linux/BSD/UNIX-like OSes), Linux, MacOS X

Added:

October 31, 2004

PathLib - Game Pathfinding Library

pathlib.hildebrand.cz/pathlib.html

Description:

The Pathlib is an independent simple library (written in C) for searching optimal paths for objects in map. The library solves generally tasks like finding optimal-cost path in map, timing objects and their movement in map, simple collision detection and solving of deadlocks.

License:

unknown

Added:

September 13, 2007

Audio (Sound & Music)  

Audiere

audiere.sourceforge.net

Description:

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.

Author:

 Chad Austin

License:

LGPL

Platforms:

Windows, Linux-i386, Cygwin, IRIX

Added:

October 31, 2004

BASS Audio Library

www.un4seen.com

Description:

BASS is an audio library for use in Windows and Mac OSX software. Its purpose is to provide developers with the most powerful and efficient (yet easy to use), sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a tiny DLL, under 100KB* in size.

Author:

 un4seen development

License:

Free for non-commercial use

Platforms:

Windows, MacOS X

Added:

October 31, 2004

FMOD Sound System

www.fmod.org

Description:

FMOD is a cross platform audio library to let you easily implement the latest audio technologies into your title.

Authors:

 Firelight Technologies Pty, Ltd

License:

Free for non-commercial use

Platforms:

Windows, Linux, MacOS X, PS2, Xbox, GC...

Added:

October 31, 2004

FreeSL - Free Sound Library

www.lukasheise.com/web_res/freesl.html

Description:

FreeSL (Free Sound Library) is a OpenAL wrapper. It also includes the EAX 2.0 library for realistic audio environment simulations plus occlusion and obstruction.

Author:

 Lukas Heise

License:

Free

Added:

October 6, 2007

Hekkus Sound System

www.shlzero.com

Description:

Hekkus Sound System is a small and fast sound engine for WinCE/Win32/Symbian and .NET application, expecially designed for games.

Author:

 Thomas Maniero

License:

Donate-Ware

Platforms:

Win32, WinCE, Symbian

Added:

October 31, 2004

irrKlang

www.ambiera.com/irrklang/index.html

Description:

irrKlang is a cross platform audio library designed to be used in games, scientific simulations and similar.

Author:

 Nikolaus Gebhardt

License:

irrKlang License

Added:

September 17, 2007

Libsndfile

www.mega-nerd.com/libsndfile/

Description:

Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.

Author:

 Erik de Castro Lopo

License:

LGPL

Platforms:

Windows, Linux, MacOS X, Solaris, QNX

Added:

October 31, 2004

libMikMod

mikmod.raphnet.net

Description:

Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.

Author:

 Raphaël Assénat

License:

LGPL

Added:

September 17, 2007

Ogg Vorbis

www.vorbis.com

Description:

Ogg Vorbis is a completely open, patent-free, professional audio encoding and streaming technology with all the benefits of Open Source.

License:

BSD-like

Added:

September 17, 2007

OpenAL

www.openal.org

Description:

OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.

Platforms:

Windows, Linux, MacOS X, UNIX, Xbox

Added:

October 31, 2004

Open Source Audio Library Project

osalp.sourceforge.net

Authors:

 Bruce Forsberg, Darrick Servis

License:

LGPL

Platforms:

Linux, Solaris, FreeBSD

Added:

October 31, 2004

Phya - Physical Audio for Virtual Worlds

www.zenprobe.com/phya/

Description:

Phya is a C++ library, that was created as an expandable system for adding physical audio to a virtual world.

License:

zlib

Added:

July 13, 2008

PortAudio

www.portaudio.com

Description:

PortAudio is a free, cross platform, open-source, audio I/O library.

Authors:

 Ross Bencina, Phil Burk

License:

Free

Platforms:

Windows, MacOS X, Unix, SGI, BeOS

Added:

October 31, 2004

SDL_mixer

www.libsdl.org/projects/SDL_mixer/

Description:

A sample multi-channel audio mixer library.

Authors:

 Sam Lantinga, Stephane Peter, Ryan Gordon

License:

LGPL

Platforms:

Windows, MacOS X, Linux

Added:

October 31, 2004

SDL_sound

icculus.org/SDL_sound/

Description:

SDL_sound is a library that handles the decoding of several popular sound file formats, such as .WAV and .MP3.

Author:

 Ryan C. Gordon

License:

LGPL

Platforms:

Windows, Linux, MacOS X, FreeBSD, BeOS

Added:

October 31, 2004

Collision Detection  

Bitmask

people.ifm.liu.se/ulfek/bitmask/

Description:

The Bitmask library provides C functions for 2D pixel-perfect collision detection. In addition to just collision detection the library can also calculate a point of intersection and the number of overlapping pixels in an efficient way.

Author:

 Ulf Ekström

License:

LGPL

Added:

September 13, 2007

ColDet - Free 3D Collision Detection Library

photoneffect.com/coldet/

Description:

This library is an effort to provide a free collision detection library for generic polyhedra. Its purpose is mainly for 3D games where accurate detection is needed between two non-simple objects.

Author:

 Amir Geva

License:

LGPL

Platforms:

Windows, Linux

Added:

October 31, 2004

FreeSOLID - Software Library for Interference Detection

www.win.tue.nl/~gino/solid/index.html

Description:

SOLID is a library for collision detection of three-dimensional objects undergoing rigid motion and deformation. SOLID is designed to be used in interactive 3D graphics applications, and is especially suited for collision detection of objects and worlds described in VRML.

Author:

 Gino van den Bergen

License:

LGPL

Added:

October 31, 2004

GImpact

gimpact.sourceforge.net

Description:

GImpact is a software library with tools for geometry processing and collision detection, focused on solving most common problems on Virtual Reality development.

Author:

 Francisco Leon

License:

LGPL

Added:

September 14, 2007

PMASK

sourceforge.net/projects/pmask/

Description:

Optimized "pixel perfect" collision detection intended for use in 2-D games. This is intended for use with either Allegro or SDL (game-oriented IO libraries), but does not require either.

License:

Public Domain

Added:

April 20, 2008

OPCODE - Optimized Collision Detection

www.codercorner.com/Opcode.htm

Description:

OPCODE is a new small collision detection library. It is similar to popular packages such as SOLID or RAPID, but more memory-friendly, and often faster.

Author:

 Pierre Terdiman

License:

Free

Platforms:

Windows, Linux

Added:

October 31, 2004

RAPID - Robust and Accurate Polygon Interference Detection

www.cs.unc.edu/~geom/OBB/OBBT.html

Description:

RAPID is a robust and accurate polygon interference detection library for large environments composed of unstructured models.

License:

Free for non-commercial use

Added:

October 31, 2004

V-Collide - Collision Detection for Arbitrary Polygonal Objects

www.cs.unc.edu/%7Egeom/V_COLLIDE/

Description:

V-Collide is a collision detection library for large environments. It is designed to operate on large numbers of polygonal objects. It makes no assumptions about input structure and works on arbitrary models, also known as "polygon soups".

Added:

September 14, 2007

Compression  

bzip2

www.bzip.org

Description:

bzip2 is a freely available, patent free (see below), high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.

Author:

 jseward

License:

BSD

Platforms:

Windows, UNIX, OS/2, Amiga

Added:

October 31, 2004

LZMA SDK

www.7-zip.org/sdk.html

Description:

LZMA is the default and general compression method of 7z format in the 7-Zip program. LZMA provides a high compression ratio and very fast decompression, so it is very suitable for embedded applications.

Author:

 Igor Pavlov

License:

LGPL

Added:

September 17, 2007

LZO

www.oberhumer.com/opensource/lzo/

Description:

LZO is a portable lossless data compression library written in ANSI C.

Author:

 Markus F.X.J. Oberhumer

License:

GPL

Added:

September 17, 2007

Minizip: Zip and UnZip additionnal library

www.winimage.com/zLibDll/minizip.html

Description:

The Zlib library allows to deflate compressed files and to create gzip (.gz) files.

Authors:

 Gilles Vollant, Eric Bischoff

License:

Free

Added:

October 31, 2004

szip

www.compressconsult.com/szip/

Description:

Szip is a freeware portable general purpose lossless compression program. It has a high speed and compression, but high memory demands (up to 20MB) too.

Author:

 Michael Schindler

Platforms:

Windows, Linux, Unix, BeOS, MacOS X, OS/2

Added:

October 31, 2004

unrarlib - Unique RAR File Library

www.unrarlib.org

Description:

The UniquE RAR File Library is a platform-independent, small and fast static library for decompressing RAR files (RAR archives are created with WinRAR). Full RAR v2.0 file format support of all compression methods, including multimedia compression and encoding is available.

Authors:

 Christian Scheurer, Johannes Winkelmann

License:

GPL

Platforms:

Windows, Linux, SunOS, WinCE, OS/2

Added:

October 31, 2004

ZipArchive

www.artpol-software.com/ZipArchive/

License:

Licensing information

Added:

September 17, 2007

ZipStream/Bzip2Stream

www.codeproject.com/vcpp/stl/zipstream.asp

Description:

Two zipped STL iostream implementations based on the library zlib and bzip2. This means that you can easily manipulate zipped streams like any other STL ostream/istream.

Author:

 Jonathan de Halleux

License:

LGPL

Platforms:

Windows

Added:

October 31, 2004

Zlib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library

www.zlib.net

Authors:

 Jean-loup Gailly, Mark Adler

License:

zlib

Platforms:

Windows, Linux, Unix, MacOS X, and any other platform :)

Added:

October 31, 2004

zziplib

zziplib.sourceforge.net

Description:

The zziplib library is intentionally lightweight, it offers the ability to easily extract data from files archived in a single zip file. Applications can bundle files into a single zip archive and access them. The implementation is based only on the (free) subset of compression with the zlib algorithm which is actually used by the zip/unzip tools.

Author:

 Guido Draheim

License:

LGPL/MPL

Platforms:

Windows, Linux, Solaris, FreeBSD, MacOS X

Added:

October 31, 2004

Encryption  

AES

www.lomont.org/Software/Misc/AES/AES.php

Description:

AES - Advanced Encryption Standard

Author:

 Chris Lomont

License:

free

Added:

April 20, 2008

Crypto++ Library

www.eskimo.com/~weidai/cryptlib.html

Description:

A free C++ class library of cryptographic schemes. Currently the library consists of the following, some of which are other people's code, repackaged into classes.

Author:

 Wei Dai

License:

Public Domain

Platforms:

Windows, UNIX, MacOS X, BeOS, Solaris

Added:

October 31, 2004

Cryptlib

www.cs.auckland.ac.nz/~pgut001/cryptlib/

Description:

cryptlib is a powerful security toolkit that allows even inexperienced crypto programmers to easily add encryption and authentication services to their software.

License:

Distributed under a dual license (free, open-source as a GPL-like license and closed-source use under a standard commercial license)

Platforms:

Windows, Linux, UNIX, MacOS X, BeOS

Added:

October 31, 2004

LockBox

sourceforge.net/projects/tplockbox/

Description:

LockBox is a cross-platform toolkit for data encryption. It contains routines & components for use with Borland Delphi, C++Builder, & Kylix. It provides support for Blowfish, RSA, MD5, SHA-1, DES, triple- DES, Rijndael, & digital signing of messages.

License:

LGPL

Platforms:

Windows, Linux, UNIX

Added:

October 31, 2004

Font Handling  

FTGL

homepages.paradise.net.nz/henryj/code/index.html

Description:

A font rendering library for OpenGL.

Author:

 Henry Maddock

License:

LGPL

Added:

September 14, 2007

FreeType

www.freetype.org

Description:

FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.

License:

FreeType License/GPL

Platforms:

Cross-platform

Added:

January 8, 2006

GLFT_Font

www.cs.rit.edu/%7Ejpt2433/glftfont/

Description:

GLFT_Font allows programmers to use fonts in their OpenGL applications with great ease on any platform for which both FreeType2 and OpenGL are available.

Authors:

 James Turk, Marijn Haverbeke

License:

zlib

Added:

September 14, 2007

Glyph Keeper

kd.lab.nig.ac.jp/glyph-keeper/

Description:

Glyph Keeper is a C language library for text rendering. Glyph Keeper helps your program to load a font, render character glyphs and write them to the target surface. Right now only Allegro and SDL targets are supported, but there will be more in future. Glyph Keeper is free, portable, effecient and easy to use.

Author:

 Kirill Kryukov

License:

free

Added:

April 20, 2008

SFont

www.linux-games.com/sfont/

License:

GPL'ed

Added:

September 14, 2007

General Purpose  

boost - C++ libraries

www.boost.org

License:

Boost license

Added:

September 14, 2007

Ceylan

ceylan.sourceforge.net

Description:

Ceylan is a C++ open-source library which provides basic core functionalities and a set of optional features.

License:

LGPL

Added:

October 16, 2007

Chattering Pixels

www.chatteringpixels.com/products.php

Description:

Memory Manager, File I/O, Sorting, Timer...

Added:

September 17, 2007

dclib

dclib.sourceforge.net

License:

Boost Software License

Added:

July 1, 2008

Detours

research.microsoft.com/sn/detours/

Description:

Detours is a library for instrumenting arbitrary Win32 functions on x86, x64, and IA64 machines. Detours intercepts Win32 functions by re-writing the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary DLLs and data segments (called payloads) to any Win32 binary.

Added:

July 1, 2008

dirent - POSIX Directory Browsing API for Win32

www.two-sdg.demon.co.uk/curbralan/code/dirent/dirent.html

Description:

The functions and types specified in POSIX for iterating over directory entries have been defined here as wrappers for porting to and common use on Win32 platforms.

Author:

 Kevlin Henney

Added:

February 29, 2008

File Logging Class

www.paulnettle.com

Description:

This small class adds feature-rich file logging capabilities to any project. Logging hierarchy is maintained, so that recursion is represented in the log with identation, making it easy to follow code flow.

Author:

 Paul Nettle

License:

Free

Added:

September 17, 2007

Garbage Collector

www.hpl.hp.com/personal/Hans_Boehm/gc/

Description:

The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would, without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed.

Author:

 Hans Boehm

License:

Free

Added:

September 17, 2007

Google-Sparsehash

sourceforge.net/projects/goog-sparsehash

Description:

An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! The SparseHash library contains several hash-map implementations, including implementations that optimize for space or speed.

License:

BSD

Added:

October 8, 2007

Image Debugger

billbaxter.com/projects/imdebug/

Description:

A utility for simple printf-style debugging of images in Win32 C/C++ applications.

Author:

 William Baxter

License:

Free

Added:

September 17, 2007

IProf

silverspaceship.com/src/iprof/

Description:

A portable industrial-strength interactive profiler for C++ and C.

License:

Public domain

Added:

September 17, 2007

MMGR

www.paulnettle.com

Description:

MMGR is an industrial-strength memory manager for almost any project.

Author:

 Paul Nettle

License:

Free

Added:

September 17, 2007

Mocha - A Small C++ Types Library

www.rightbraingames.com/tech.php

Description:

Mocha is a small library of useful types that can be used to simplify common tasks in C++. It contains classes for 3D math operations, input/output streams, high quality random number generation, sophisticated scripting with support for micro-threads (Using the Lua scripting language), hardware thread management and synchronization, and plenty more.

Author:

 Right Brain Games

License:

LGPL

Added:

March 22, 2008

OIS - Object-Oriented Input System

www.wreckedgames.com/wiki/index.php/WreckedLibs:OIS

License:

zlib

Added:

September 14, 2007

Pantheios

pantheios.sourceforge.net

Description:

Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent).

License:

BSD-style licence

Added:

July 1, 2008

PhysicsFS

icculus.org/physfs/

Description:

PhysicsFS is a library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem.

License:

zlib

Added:

October 31, 2004

POCO C++ Libraries

pocoproject.org

Description:

POCO, the C++ Portable Components, is a collection of open source C++ class libraries that simplify and accelerate the development of network-centric, portable applications in C++.

License:

POCO/Boost Software License

Added:

July 1, 2008

SDL_Config

student.agh.edu.pl/%7Ekoshmaar/SDL_Config/

Description:

Configuration file handling.

Author:

 Hubert Rutkowski

License:

LGPL

Added:

September 14, 2007

SQLite

www.sqlite.org

Description:

SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.

License:

Public domain

Added:

September 17, 2007

Tiny Template Library

tinytl.sourceforge.net

Description:

The Tiny Template Library (TTL) is a C++ template library for generic programming. The main objective is to develop a lightweight practical alternative to some of the Boost components.

Added:

July 1, 2008

Graphical User Interfaces  

CEGUI - Crazy Eddie's GUI System

www.cegui.org.uk/modules/news/

Description:

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!

License:

LGPL

Platforms:

Windows, Linux

Added:

October 31, 2004

libRocket

www.librocket.com

Description:

libRocket is a C++ interface middleware package designed for game applications. At its core it is based on the popular HTML and CSS specifications. It contains a full set of widgets so you can get creating screens right out of the box.

Added:

July 1, 2008

LibUFO

libufo.sourceforge.net

Description:

LibUFO is a C++ core library for forms respectively graphical user interfaces (GUI). It is mainly used as OpenGL GUI toolkit.

License:

LGPL

Added:

September 17, 2007

ParaGUI

www.paragui.org

Description:

ParaGUI is a cross-platform high-level application framework and GUI (graphical user interface) library and is based on the Simple DirectMedia Layer (SDL). ParaGUI is targeted on crossplatform multimedia applications and embedded devices operating on framebuffer displays.

License:

LGPL

Platforms:

Cross-platform

Added:

October 31, 2004

Right Brain Games GUI

www.rightbraingames.com/tech.php

Description:

The Right Brain Games GUI is a custom user interface library for 3D games. It supports hardware rendering of multiple user interface windows into separate texture buffers to improve performance and allow for complex animation effects.

Author:

 Right Brain Games

License:

LGPL

Added:

March 22, 2008

SDL_Console

sdlconsole.sourceforge.net

Description:

A drop down console that can be easily added to any SDL application. It is similar to Quake and other games consoles. A console gives you the ability to interact with your program in an easy way by executing predefined commands. You can also have more than one console at a time.

Authors:

 Garret Banuk, Boris Lesner, Clemens Wacha

License:

LGPL

Platforms:

All

Added:

October 31, 2004

Image Handling  

AfterImage

www.afterstep.org/afterimage/

Description:

A generic image manipulation library. It was initially implemented to address AfterStep Window Manager's needs for image handling, but it evolved into extremely powerfull and flexible software, suitable for virtually any project that has needs for loading, manipulating, displaying images, as well as writing images in files.

Author:

 Sasha Vasko

Added:

October 31, 2004

CImg - C++ Template Image Processing Library

cimg.sourceforge.net

Description:

An open source C++ toolkit for image processing. It provides simple classes and functions to load, save, process and display images in your own C++ code.

Author:

 David Tschumperle

License:

CeCiLL License

Platforms:

Unix/X11, Windows, MacOS X, FreeBSD

Added:

October 31, 2004

Corona

corona.sourceforge.net

Description:

Corona is an image input/output library that can read, write, and manipulate image files in just a few lines of code. It can write PNG and TGA files, and read PNG, JPEG, PCX, BMP, TGA, and GIF. Corona was designed to be easy to use, and exports a straightforward C++ API. With just a few lines of C++, you can add image loading to your application.

Author:

 Chad Austin

License:

zlib

Platforms:

Windows, Linux, IRIX

Added:

October 31, 2004

CxImage

www.xdp.it/cximage.htm

Description:

A C++ class that can load, save, display, transform images in a very simple and fast way. With more than 200 functions, and with comprehensive working demos, CxImage offers all the tools to build simple image processing applications on a fast learning curve. Supported file formats are: BMP, GIF, ICO, CUR, JBG, JPG, JPC, JP2, PCX, PGX, PNG, PNM, RAS, TGA, TIF, WBMP, WMF.

Author:

 Davide Pizzolato

License:

zlib

Platforms:

Windows, Linux

Added:

January 8, 2006

DevIL

openil.sourceforge.net

Description:

A fully featured cross-platform image library.

Authors:

 Denton Woods, Nicolas Weber, Meloni Dario

License:

LGPL

Platforms:

Windows, Linux, MacOS X

Added:

October 31, 2004

FreeImage

freeimage.sourceforge.net

Description:

The library has been designed to be extremely simple in use and supports many formats.

Authors:

 Herve Drolon, Floris van den Berg

License:

FreeImage Open Source Dual-Licence

Platforms:

Windows, Linux, MacOS X

Added:

October 31, 2004

GFL SDK

perso.orange.fr/pierre.g/xnview/engfl.html

Description:

GFL SDK is a free library (used by XnView) for developers who would like to support graphics image formats easily.

License:

Free for non-commerical use

Added:

September 17, 2007

glpng

www.wyatt100.freeserve.co.uk

Description:

A utility library for loading PNG files and bind them to an OpenGL texture with one simple call.

Author:

 Ben Wyatt

Added:

February 29, 2008

GTL - Game Texture Loader

tgtl.sourceforge.net

Description:

The Game Texture Loader is very much just as it says, a library for loading texture formats commonly used in games.

License:

zlib

Added:

September 17, 2007

ImageMagick

www.imagemagick.org/script/index.php

Description:

ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

License:

GPL-compatible license

Added:

September 17, 2007

jpegxx

www.mr-edd.co.uk/?page_id=35

Description:

jpegxx is a library for loading and saving JPEG compressed images.

Author:

 Edd Dawson

License:

Boost software license version 1.0

Added:

October 8, 2007

libjpeg

www.ijg.org

Added:

October 31, 2004

libpng - Portable Network Graphics

www.libpng.org/pub/png/

License:

zlib

Added:

October 31, 2004

LibTIFF

www.remotesensing.org/libtiff/

Description:

TIFF Library and Utilities.

Added:

September 17, 2007

LodePNG

members.gamedev.net/lode/projects/LodePNG/

Description:

LodePNG is a PNG image decoder and encoder, all in one, no dependency or linkage to zlib or libpng required. It's made for C (ISO C90), and has a C++ wrapper with a more convenient interface on top.

Author:

 Lode Vandevenne

Added:

February 26, 2008

Paintlib

www.paintlib.de/paintlib/

Description:

A portable C++ class library for image loading, saving and manipulation. Images can be loaded from BMP, GIF, IFF, JPEG, PCX, PGM, PICT, PNG, PSD, SGI, TGA, TIFF and WMF files and saved in BMP, JPEG, PNG and TIFF formats. Image manipulation can be done either through filters implemented in filter classes or by directly accessing the bitmap bits.

Author:

 Ulrich von Zadow

Added:

October 31, 2004

SDL_image

www.libsdl.org/projects/SDL_image/

Description:

An image file loading library. It loads images as SDL surfaces, and supports the following formats: BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA.

Authors:

 Sam Lantinga, Mattias Engdegard

License:

LGPL

Added:

October 31, 2004

SOIL - Simple OpenGL Image Library

lonesock.net/soil.html

Description:

SOIL is a tiny C library used primarily for uploading textures into OpenGL.

License:

Public domain

Added:

September 17, 2007

stbi

www.nothings.org/stb_image.c

Description:

A public domain JPEG/PNG reader (reads JPEG, PNG, BMP, TGA, PSD, HDR, and writes BMP, TGA).

Author:

 Sean Barrett

License:

Public domain

Added:

January 8, 2008

Titan

titan.sourceforge.net

Description:

For still images, Titan can load/save most varieties from .TGA, .BMP, .PCX, .PNG and .JPG.

Author:

 Dan Brown

License:

zlib

Added:

September 17, 2007

Mathematics  

Blitz++

www.oonumerics.org/blitz/

Description:

Blitz++ is a C++ class library for scientific computing.

License:

Blitz++ Artistic License

Added:

September 14, 2007

CML - Configurable Math Library

cmldev.net

Description:

The CML (Configurable Math Library) is a free, open-source C++ math library designed for use in games, graphics, computational geometry, and related applications. It includes vector, matrix, and quaternion classes, and a large library of functions for manipulation of these types.

Author:

 Jesse Anders

License:

Boost Software License

Added:

March 27, 2008

Fast Math Routines

developer.nvidia.com/object/fast_math_routines.html

Description:

Collection of good fast math routines.

Author:

 nVIDIA

License:

Free

Added:

October 31, 2004

Fixed Point

www.trenki.net

Description:

A small fixed point math library which consists of various functions for dealing with fixed point numbers (multiplication, division, inversion, sin, cos, sqrt, rsqrt). It also contains a C++ wrapper class which can be used to simplify working with fixed points numbers greatly. I used this fixed point number class in conjunction with my vector_math library to obtain a fixed point vector math library. Doing so made the 3D computations a lot faster compared to the floating point version.

Author:

 Markus Trenkwalder

Added:

September 14, 2007

GLM

members.tripod.com/markus_ilmola/

Description:

A math library for OpenGL with over 500 useful math functions for OpenGL.

Author:

 Markus Ilmola

Added:

September 14, 2007

GMP

gmplib.org

Description:

GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.

License:

LGPL

Added:

October 8, 2007

MathGL++

mathgl-pp.sourceforge.net

Description:

MathGL++ is a class library for fast C++ maths for use in OpenGL C++ projects. Easy to use and similar to the OpenGL API. Matricies, Vectors, Quaternions, Linear polynomials with eigen systems are all going to be included.

Author:

 Jacques Gasselin

License:

LGPL

Added:

October 31, 2004

Mersenne Twister Random Number Generator

www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html

Description:

The Mersenne Twister is an algorithm for generating random numbers. It was designed with consideration of the flaws in various other generators. The period, 2^19937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines.

Author:

 Rick Wagner

License:

Free

Added:

October 31, 2004

Vector Math

www.trenki.net

Description:

The vector_math library (formerly math3d++) is a C++ 3d math library.

Author:

 Markus Trenkwalder

License:

Free

Added:

October 31, 2004

VMath - Matrix Template Class

www.paulnettle.com

Description:

VMath is a powerful NxM matrix template class which includes full support for matrices, vectors, points, homogenous transforms and more.

Author:

 Paul Nettle

License:

Free

Added:

October 31, 2004

Mesh Optimization and Preprocessing  

ACTC - The Triangle Consolidator

www.plunk.org/~grantham/public/actc/index.html

Description:

ACTC makes triangle strips and fans out of independent indexed triangles.

Author:

 Brad Grantham

License:

free

Added:

April 29, 2008

GTS - GNU Triangulated Surface Library

gts.sourceforge.net

Description:

GTS stands for the GNU Triangulated Surface Library. It provides a set of useful functions to deal with 3D surfaces meshed with interconnected triangles including collision detection, multiresolution models, constrained Delaunay triangulations and robust set operations (union, intersection, differences).

License:

LGPL

Added:

January 29, 2006

Mesh SDK

home.earthlink.net/~mmchow/meshsdk/meshsdk.html

Description:

The mesh sdk (gmeshsdk) is a useful geometry library for manipulating 3D meshes and geometry data. It is currently being used on a variety of graphics projects including real-time graphics viewers, 3D paint systems, visualizing complex 3D datasets, and optimizing graphics hardware performance.

Author:

 Mike Chow

Added:

April 29, 2008

NvTriStrip Library

developer.nvidia.com/object/nvtristrip_library.html

Description:

NVTriStrip is a library for vertex cache aware stripification of geometry.

Author:

 nVIDIA

Platforms:

API and OS independent

Added:

October 31, 2004

Model Handling & 3D Character Animation  

Animadead

animadead.sourceforge.net

Description:

Animadead is a skeletal animation library designed to load and play skeletal animations. It supports models that are composed of several swappable meshes bound to a single skeleton that can be driven by multiple animations.

Author:

 John Butterfield

License:

LGPL

Added:

January 29, 2006

Cal3d

cal3d.sourceforge.net

Description:

Cal3d is a skeletal based 3d character animation library written in C++ in a platform-/graphic API-independent way.

Author:

 Bruno Heidelberger

License:

LGPL

Platforms:

Windows, SGI Irix, various flavors of Linux, Mac OS X

Added:

October 31, 2004

GPUmesh

www-evasion.imag.fr/Membres/Sylvain.Lefebvre/GPUmesh/

Description:

The purpose of GPUmesh is to provide developers with a simple mechanism to send geometry to the GPU.

Author:

 Sylvain Lefebvre

License:

Free

Platforms:

Windows, Linux

Added:

October 31, 2004

lib3DS

lib3ds.sourceforge.net

Description:

lib3ds is a free ANSI-C library for working with the popular "3DS" 3D model format. lib3ds loads and saves Atmosphere settings, Background settings, Shadow map settings, Viewport setting, Materials, Cameras, Lights, Meshes, Hierarchy, Animation keyframes. It also contains useful matrix, vector and quaternion mathematics tools. lib3ds usually integrates well with OpenGL.

Author:

 Jan Eric Kyprianidis

License:

LGPL

Platforms:

Windows, Linux, Unix

Added:

October 31, 2004

libASE

interreality.org/projects/libase

Description:

LibASE is a library for parsing and reading information out of ASE files, the "ASCII Scene Export" format of the 3D Studio and 3ds Max 3D modelling programs.

Author:

 Peter Amstutz

License:

LGPL

Platforms:

GNU/Linux, MacOS X

Added:

October 31, 2004

Trimeshloader

trimeshloader.sourceforge.net

Description:

A flexible ANSI C trimesh loader.

Author:

 Gero Müller

License:

zlib

Added:

September 14, 2007

Multimedia/Game Libraries  

Allegro

www.talula.demon.co.uk/allegro

Description:

Allegro is a game programming library for C/C++ developers which provides many functions for graphics, sounds, player input, and timers. It also provides fixed and floating point mathematical functions, 3D functions, file management functions, compressed datafile and a GUI.

License:

Giftware License

Platforms:

DOS, Unix, Windows, QNX, BeOS, MacOS X

Added:

October 31, 2004

ClanLib Game SDK

www.clanlib.org

Description:

ClanLib is a cross platform C++ framework. Essentially the library offers a series of different functionality under a streamlined API. Its primary focus is on games, although its not limited for that usage only.

License:

LGPL

Added:

October 31, 2004

PLIB - A Portable Games Library

plib.sourceforge.net

Description:

PLIB includes sound effects, music, a complete 3D engine, font rendering, a simple Windowing library, a game scripting language, a GUI, networking, 3D math library and a collection of handy utility functions.

Author:

 Steve J. Baker

License:

LGPL

Added:

October 31, 2004

OSDL - Object-oriented Simple DirectMedia Layer

osdl.sourceforge.net

Description:

The OSDL project has for goal to provide a free portable high-level open-source library for multimedia and game programming.

License:

LGPL

Added:

October 16, 2007

PopCap Games Framework

developer.popcap.com

License:

Popcap License

Added:

October 31, 2004

SDL

www.libsdl.org

Description:

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.

Author:

 Sam Lantinga

License:

LGPL

Platforms:

Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX

Added:

October 31, 2004

SFML - Simple and Fast Multimedia Library

sfml.sourceforge.net

Description:

SFML is a free multimedia C++ API that provides you low and high level access to graphics, input, audio, etc.

Author:

 Laurent Gomila

License:

zlib/png

Added:

October 8, 2007

Networking   High-level

GNE - Game Networking Engine

www.gillius.org/gne/

Description:

GNE, or the Game Networking Engine, is a cross-platform, multithreaded, C++ networking library with an API specifically addressing the needs of game networking.

Author:

 Jason Winnebeck

License:

LGPL

Added:

April 20, 2008

Net2

www.gameprogrammer.com/net2/net2-1.html

Author:

 Bob Pendleton

License:

LGPL

Added:

September 25, 2007

OpenPlay

developer.apple.com/opensource/internet/openplay/index.html

Description:

OpenPlay is a cross-platform network abstraction layer designed to simplify the task of creating programs which communicate across multiple computers.

License:

Apple Public Source License

Added:

September 17, 2007

OpenTNL - Torque Network Library

www.opentnl.org

Description:

The Torque Network Library is a robust, secure, easy to use, cross-platform C++ networking API designed for high performance simulations and games. The network architecture in TNL has powered some of the best internet multiplayer action games to date. Whether you're writing a multiplayer game, developing a complex simulation, or just need a solid foundation for network apps, TNL will meet your needs.

License:

GPL (or indie or commercial)

Added:

September 25, 2007

Raknet

www.rakkarsoft.com

Description:

Raknet is a cross platform C++ network library designed to allow programmers to add response time-critical network capabilities to their applications. It is mostly used for games, but is application independent.

License:

Free for non-profit applications

Added:

September 17, 2007

ReplicaNet

www.replicanet.com

Description:

ReplicaNet is an object oriented C++ library that is engineered to help the developer of applications that require a stable and low maintenance middleware solution to networking. Any project that is designed to use a network of machines, for example multiplayer computer games, need to consider very carefully how to approach the design problems associated with networking.

License:

Free for non-commerical usage

Added:

September 25, 2007

Zoidcom

www.zoidcom.com

Description:

The Zoidcom network library is a high-level, UDP based networking library providing features for automatic replication of gameobjects and synchronization of their states over a network connection in a highly bandwidth efficient manner.

Author:

 Jörg Rüppel

License:

Free for non-commerical usage

Added:

September 25, 2007

Low-level

DyConnect

www.junction.bafsoft.com/#dyconnect

Author:

 Dave Stash

License:

zlib

Added:

September 25, 2007

ENet

enet.bespin.org

Description:

ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol). The primary feature it provides is optional reliable, in-order delivery of packets.

License:

Free

Added:

September 25, 2007

Etwork

www.mindcontrol.org/~hplus/etwork/

Description:

Etwork is a simple message-based network library, suitable for shuffling messages between a server and many clients, either using realiable, in-order delivery (TCP) or unreliable, out-of- order, possibly-duplicated delivery (UDP).

Author:

 Jon Watte

License:

MIT

Added:

September 25, 2007

HawkNL - Hawk Network Library

www.hawksoft.com/hawknl/

Description:

HawkNL is a fairly low level API, a wrapper over Berkeley/Unix Sockets and Winsock.

License:

LGPL

Added:

September 17, 2007

libcurl

curl.haxx.se/libcurl/

Description:

libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more.

License:

curl license

Added:

September 25, 2007

Pegasus Network Library

plib.sourceforge.net/net/index.html

Description:

Pegasus is a C++ library for making networked games. Pegasus is based on Medusa and is part of PLIB. Pegasus, like Medusa, runs as a single process, multiplexing I/O with its various client and server connections within a single process/thread.

Author:

 Steve J. Baker

License:

LGPL

Added:

October 31, 2004

SDL_net

www.libsdl.org/projects/SDL_net/

Description:

This is a small sample cross-platform networking library, with a sample chat client and server application. The chat client uses the GUIlib GUI framework library.

Authors:

 Sam Lantinga, Roy Wood, Masahiro Minami

License:

LGPL

Platforms:

All platforms supported by SDL.

Added:

October 31, 2004

Physics  

Box2D Physics Engine

www.box2d.org

Description:

Box2D is a 2D rigid body simulation library for games and written in portable C++.

Author:

 Erin Catto

License:

zlib

Added:

April 20, 2008

Bullet

www.continuousphysics.com/Bullet/

Description:

Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games and animation.

Author:

 Erwin Coumans

License:

zlib

Added:

September 14, 2007

Cyclone Physics Simulator

www.procyclone.com

Author:

 Ian Millington

Added:

March 22, 2008

EZPhysics - Physical Rigging

www.ezphysics.org

License:

LGPL

Added:

September 25, 2007

Flatland

flatland.sourceforge.net/

Description:

Flatland is an object-oriented 2D collision library.

License:

BSD

Added:

September 14, 2007

Havok

tryhavok.intel.com

License:

Free for non-commercial use (requires registration)

Added:

July 1, 2008

Newton Game Dynamics

www.newtondynamics.com

Description:

Newton Game Dynamics is an integrated solution for real time simulation of physics environments. The API provides scene management, collision detection, dynamic behavior and yet it is small, fast, stable and easy to use.

Authors:

 Julio Jerez, Alain Suero

License:

Newton Game Dynamics SDK Setup License

Platforms:

Windows, Linux, MacOS X

Added:

October 31, 2004

OPAL

ox.slug.louisville.edu/~o0lozi01/opal_wiki/index.php/Main_Page

Description:

OPAL is a high-level interface for low-level physics engines used in games, robotics simulations, and other 3D applications. Features a simple C++ API, intuitive objects (e.g. Solids, Joints, Motors, Sensors), and XML-based file storage for complex objects.

Added:

October 31, 2004

Open Dynamics Engine

www.ode.org

Description:

ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.

Author:

 Russell Smith

License:

BSD

Platforms:

Windows

Added:

October 31, 2004

Physical

physical.alecrivers.com

Description:

Physical is a game creation system based on the foundation of an innovative 2D physics engine.

Author:

 Alec Rivers

License:

Free

Added:

January 29, 2006

PhysX (formerly Novodex)

www.ageia.com/developers/downloads.html

Description:

AGEIA's PhysX Technology revolutionizes physics simulation with technologies designed for the future of console and PC gaming. The advances in next generation consoles and PC processors are staggering. The future is in multi-threaded, asynchronous, massively parallel-processing architectures.

Author:

 AGEIA

License:

Free for non-commerical use

Platforms:

Windows

Added:

October 31, 2004

Tokamak Game Physics

www.tokamakphysics.com

Description:

Tokamak Game Physics SDK is a high performance real-time physics library designed specially for games. It has a high-level, simple to use programming interface. With Tokamak, game developers and designers are empowered to produce the next generation of interactive games.

License:

Free

Platforms:

Windows

Added:

October 31, 2004

True Axis Physics SDK

www.trueaxis.com

Description:

The True Axis Physics SDK is a fast and solid real world physics simulation system designed for demanding games and virtual interactive environments.

Authors:

 TRUE AXIS PTY LTD, Australia

License:

Free for non-commercial use

Platforms:

Windows

Added:

January 29, 2006

OpenGL  

Cpw

www.mathies.com/cpw/about.html

Description:

Cpw is a application framework library for OpenGL applications and games. It is designed with speed, simplicity, and portability in mind.

Author:

 Jim Mathies

License:

Free

Added:

October 6, 2007

FreeGLUT

freeglut.sourceforge.net

Description:

FreeGLUT is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library which allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard and joystick functions.

Author:

 Originally written by Pawel W. Olszta with contributions from Andreas Umbach and Steve Baker

License:

X-Consortium License

Added:

October 31, 2004

FTGL

homepages.paradise.net.nz/henryj/code/index.html

Description:

A font rendering library for OpenGL.

Author:

 Henry Maddock

License:

LGPL

Added:

September 14, 2007

GLFT_Font

www.cs.rit.edu/%7Ejpt2433/glftfont/

Description:

GLFT_Font allows programmers to use fonts in their OpenGL applications with great ease on any platform for which both FreeType2 and OpenGL are available.

Authors:

 James Turk, Marijn Haverbeke

License:

zlib

Added:

September 14, 2007

GLFW

glfw.sourceforge.net

Description:

Free, open source, portable framework for OpenGL application development. In short, it is a link library that constitutes a powerful API for handling operating system specific tasks, such as opening an OpenGL window and reading keyboard, mouse and joystick input.

Author:

 Marcus Geelnard

License:

zlib

Platforms:

Windows, Linux, IRIX, FreeBSD, Solaris, QNX, MacOS X, AmigaOS, MS-DOS

Added:

October 31, 2004

GLH - Graphics Library Helper

www.geocities.com/vmelkon/glhlibrary.html

Description:

glh is kind of like OpenGL's GLU but contains extra functions and optimized functions.

Author:

 Vrej Melkonian

License:

Free

Added:

March 28, 2005

glpng

www.wyatt100.freeserve.co.uk

Description:

A utility library for loading PNG files and bind them to an OpenGL texture with one simple call.

Author:

 Ben Wyatt

Added:

February 29, 2008

Ivf++ - Interactive Visualisation Framework

gorkon.byggmek.lth.se/ivfweb/

Authors:

 Jonas Lindemann, Carl-Johan Lejdfors, Pierre Olsson

License:

LGPL

Added:

October 31, 2004

libQGLViewer

artis.imag.fr/Membres/Gilles.Debunne/QGLViewer/

Description:

libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers. It provides some of the typical 3D viewer functionalities, such as the possibility to move the camera using the mouse, which lacks in most of the other APIs.

License:

Dual Licensing

Added:

July 1, 2008

LibUFO

libufo.sourceforge.net

Description:

LibUFO is a C++ core library for forms respectively graphical user interfaces (GUI). It is mainly used as OpenGL GUI toolkit.

License:

LGPL

Added:

September 17, 2007

OpenGL Window Framework

oglwfw.sourceforge.net

Description:

Framework for creating and controlling windows capible of holding an OpenGL rendering context in it.

Author:

 Rob Jones

License:

zlib

Added:

October 31, 2004

OpenGLUT

openglut.sourceforge.net

Description:

OpenGLUT is an open source project to evolve the GLUT (OpenGL Utility Toolkit) C/C++ API. OpenGLUT uses the freeglut code base as a foundation for extending, enhancing and refining the API.

Authors:

 Richard Rauch, Nigel Stewart, John F. Fay

Added:

October 31, 2004

SDL

www.libsdl.org

Description:

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.

Author:

 Sam Lantinga

License:

LGPL

Platforms:

Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX

Added:

October 31, 2004

SOIL - Simple OpenGL Image Library

lonesock.net/soil.html

Description:

SOIL is a tiny C library used primarily for uploading textures into OpenGL.

License:

Public domain

Added:

September 17, 2007

OpenGL Extension Handling  

GLee

elf-stone.com/glee.php

Description:

The OpenGL Easy Extension library (GLee) makes life easier for OpenGL developers by automatically linking OpenGL extensions and core functions at initialisation time. This saves programmers the effort of manually linking every required extension, and effectively brings the OpenGL library up to date.

Author:

 Ben Woodhouse

Added:

October 31, 2004

GLEW - The OpenGL Extension Wrangler Library

glew.sourceforge.net

Description:

The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file.

License:

BSD

Added:

October 31, 2004

OglExt

www.julius.caesar.de/oglext/

Description:

OglExt is a free OpenGL extension library, enabling the easy access of all functionality up to OpenGL version 1.5 as well as API functions of more than 200 OpenGL extensions.

Author:

 Research Center Caesar

License:

LGPL

Added:

October 31, 2004

Scripting Languages  

Angelcode Scripting Library

www.angelcode.com/angelscript/

Author:

 Andreas Jönsson

License:

zlib

Added:

September 13, 2007

GameMonkey Script

www.somedude.net/gamemonkey/

Description:

GameMonkey is a embedded scripting language that is intended for use in game and tool applications. GameMonkey is however suitable for use in any project requiring simple scripting support. GameMonkey borrows concepts from Lua (www.lua.org), but uses syntax similar to C, making it more accessible to game programmers. GameMonkey also natively supports multithreading and the concept of states.

Authors:

 Matthew Riek, Greg Douglas

License:

MIT

Added:

September 13, 2007

Lua

www.lua.org/

Description:

Lua is a powerful, fast, light-weight, embeddable scripting language.

License:

MIT

Added:

September 13, 2007

Python Programming Language

www.python.org

Added:

September 13, 2007

Ruby

www.ruby-lang.org/en/

Description:

A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

Added:

September 13, 2007

Squirrel

squirrel-lang.org

Description:

Squirrel is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games.

License:

zlib

Added:

September 13, 2007

SDL - Simple DirectMedia Layer  

OSDL - Object-oriented Simple DirectMedia Layer

osdl.sourceforge.net

Description:

The OSDL project has for goal to provide a free portable high-level open-source library for multimedia and game programming.

License:

LGPL

Added:

October 16, 2007

SDL

www.libsdl.org

Description:

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.

Author:

 Sam Lantinga

License:

LGPL

Platforms:

Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX

Added:

October 31, 2004

SDL_Console

sdlconsole.sourceforge.net

Description:

A drop down console that can be easily added to any SDL application. It is similar to Quake and other games consoles. A console gives you the ability to interact with your program in an easy way by executing predefined commands. You can also have more than one console at a time.

Authors:

 Garret Banuk, Boris Lesner, Clemens Wacha

License:

LGPL

Platforms:

All

Added:

October 31, 2004

SDL_draw

sdl-draw.sourceforge.net

Description:

SDL_draw is a simple library to draw basic elements, like points, lines and circles, on SDL surfaces.

Authors:

 Mario Palomo, José de la Huerga, Pepe González

License:

LGPL

Added:

October 8, 2007

SDL_image

www.libsdl.org/projects/SDL_image/

Description:

An image file loading library. It loads images as SDL surfaces, and supports the following formats: BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA.

Authors:

 Sam Lantinga, Mattias Engdegard

License:

LGPL

Added:

October 31, 2004

SDL_mixer

www.libsdl.org/projects/SDL_mixer/

Description:

A sample multi-channel audio mixer library.

Authors:

 Sam Lantinga, Stephane Peter, Ryan Gordon

License:

LGPL

Platforms:

Windows, MacOS X, Linux

Added:

October 31, 2004

SDL_net

www.libsdl.org/projects/SDL_net/

Description:

This is a small sample cross-platform networking library, with a sample chat client and server application. The chat client uses the GUIlib GUI framework library.

Authors:

 Sam Lantinga, Roy Wood, Masahiro Minami

License:

LGPL

Platforms:

All platforms supported by SDL.

Added:

October 31, 2004

SDL_sound

icculus.org/SDL_sound/

Description:

SDL_sound is a library that handles the decoding of several popular sound file formats, such as .WAV and .MP3.

Author:

 Ryan C. Gordon

License:

LGPL

Platforms:

Windows, Linux, MacOS X, FreeBSD, BeOS

Added:

October 31, 2004

SDL_ttf

www.libsdl.org/projects/SDL_ttf/

Description:

This is a sample library which allows you to use TrueType fonts in your SDL applications. It comes with an example program "showfont" which displays an example string for a given TrueType font file.

Author:

 Sam Lantinga

License:

LGPL

Added:

October 8, 2007

Visualization  

libQGLViewer

artis.imag.fr/Membres/Gilles.Debunne/QGLViewer/

Description:

libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers. It provides some of the typical 3D viewer functionalities, such as the possibility to move the camera using the mouse, which lacks in most of the other APIs.

License:

Dual Licensing

Added:

July 1, 2008

Visualization Library

www.visualizationlibrary.com

Description:

Visualization Library is an open source C++ middleware for 2D/3D graphics applications based on OpenGL 2.1, designed to develop portable applications for the Windows XP, Windows Vista and Linux/X11 operating systems.

Author:

 Michele Bosi

License:

Dual licensing model: GNU GPL 3/Commercial license

Added:

July 1, 2008

Widget Toolkits  

FLTK - Fast Light Toolkit

www.fltk.org

Description:

FLTK is a cross-platform C++ GUI toolkit and provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.

License:

LGPL

Added:

July 1, 2008

FOX Toolkit

www.fox-toolkit.org

Description:

The FOX toolkit is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface.

License:

LGPL

Added:

July 1, 2008

Qt

trolltech.com/products/qt/

Description:

Qt is a cross-platform application framework for desktop and embedded development. It includes an intuitive API and a rich C++ class library, integrated tools for GUI development and internationalization, and support for Java™ and C++ development.

Author:

 Trolltech

License:

Qt Licensing

Added:

July 1, 2008

wxWidgets

www.wxwidgets.org

Description:

wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature.

Added:

July 1, 2008

XML  

Expat XML Parser

expat.sourceforge.net

Description:

Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document.

License:

LGPL

Platforms:

Cross-platform

Added:

October 31, 2004

ezXML

ezxml.sourceforge.net

Description:

ezXML is a C library for parsing XML documents inspired by simpleXML for PHP. As the name implies, it's easy to use. It's ideal for parsing XML configuration files or REST web service responses. It's also fast and lightweight (less than 20k compiled).

Author:

 Aaron Voisine

License:

MIT

Added:

January 29, 2006

irrXML

www.ambiera.com/irrxml/index.html

Description:

irrXML is a simple and fast open source xml parser for C++.

Author:

 Nikolaus Gebhardt

License:

irrXML License

Added:

September 17, 2007

Libxml2

www.xmlsoft.org

Description:

A XML C parser and toolkit developed for the Gnome project.

License:

MIT

Platforms:

Linux, Unix, Windows, CygWin, MacOS, MacOS X, UNIX, OS/2

Added:

October 31, 2004

TinyXml

www.grinninglizard.com/tinyxml/index.html

Description:

A simple, small, C++ XML parser that can be easily integrating into other programs.

Author:

 Lee Thomason

License:

zlib

Added:

October 31, 2004

Xerces-C++

xerces.apache.org/xerces-c/

Description:

Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data.

License:

Apache Software License

Added:

September 17, 2007

XMLite

www.codeproject.com/cpp/xmlite.asp

Description:

Easy to access and simple XML parser.

Author:

 Kyung-min Cho

Platforms:

Windows

Added:

October 31, 2004

XMLParser

www.applied-mathematics.net/tools/xmlParser.html

Description:

Small, simple, cross-platform, free and fast C++ XML Parser

Author:

 Frank Vanden Berghen

License:

Aladdin Free Public License (AFPL) (other licenses on request for free)

Platforms:

Solaris, Linux, Windows

Added:

February 6, 2008

Unsorted  

The Demo Effect Collection

demo-effects.sourceforge.net

Description:

This is not only a collection of demo effects from the early days of the demo scene (for instance the Amiga demo scene in the late eighties ) but also a multi-layered run-time pluggable demo effects system, with support for filters and transition effects. which can be used to create demo's.

Author:

 W.P. van Paassen

License:

GPL

Platforms:

Windows, any Unix flavoured OS

Added:

October 31, 2004

GUL - Geometry Utility Library

gul.sourceforge.net

Description:

GUL is a library of C++ functions. It mainly contains basic functions for tesselating and manipulating NURBS curves and surfaces, as well as functions for interpolating and approximating data points with NURBS curves and surfaces.

Added:

July 1, 2008

Hermes

www.clanlib.org/hermes/

Description:

Hermes is a pixel conversion library. Its only purpose is to take a buffer full of pixels and convert it into a target buffer full of pixels. The two can differ both in size and in format. Hermes is primarily intended for fast graphics display and it is optimized for that.

License:

LGPL

Added:

October 31, 2004

libavg

www.libavg.de

Description:

libavg is an effort to do for multimedia installations what the Gimp did for image editing.

Author:

 Ulrich von Zadow

Platforms:

Linux

Added:

October 31, 2004

libsigc++

libsigc.sourceforge.net

Description:

libsigc++ implements a typesafe callback system for standard C++. It allows you to define signals and to connect those signals to any callback function, either global or a member function, regardless of whether it is static or virtual.

Authors:

 Tero Pulkkinen, Karl Nelson, Murray Cumming, Martin Schulze

License:

LGPL

Platforms:

Windows, Linux, Unix

Added:

January 8, 2006

METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering

glaros.dtc.umn.edu/gkhome/metis/metis/overview

Description:

METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices.

Author:

 George Karypis

License:

Free

Added:

October 30, 2007

Loki

sourceforge.net/projects/loki-lib/

Description:

A C++ library of designs, containing flexible implementations of common design patterns and idioms.

License:

MIT

Platforms:

Portable

Added:

January 29, 2006

Particle System API

www.particlesystems.org

Description:

The Particle System API allows you to easily include dynamic simulations of groups of moving objects. This is especially useful for eye candy in games, virtual environments and other interactive graphics apps, but can also be used in off-line animation software.

Author:

 David K. McAllister

Platforms:

Windows

Added:

October 31, 2004

Pixel Toaster

www.pixeltoaster.com

Description:

Open Source C++ library for realtime software rendering.

Author:

 Glenn Fiedler

Added:

October 31, 2004

SPL - Simple Plugin Layer

www.unitedbytes.de/go.php?site=spl

Description:

The SPL (Simple Plugin Layer) library is an open source SDK for plugin development. With SPL you can extend every application written in C/C++ to use your own plugins, SPL will do all the managing, loading and unloading stuff for you. Additionally, the whole framework is fully multi-platform capable, so you don't have to develop multiple versions of the same plugin for platforms provided by SPL.

Author:

 United Bytes

License:

LGPL

Platforms:

Windows, Linux, Solaris

Added:

October 31, 2004

继续阅读