1. 程式人生 > >一些C/C++的開源庫

一些C/C++的開源庫

下面是收集的一些開發工具包,主要是C/C++方面的,涉及圖形、影象、遊戲、人工智慧等各個方面,感覺是一個比較全的資源。供參考!
原文的出處:http://www.codemonsters.de/home/content.php?show=freelibraries

Contents

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 inJavalanguage. 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

3D Graphics

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

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

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

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

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

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

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