有了網絡的最大好處就是可以資源共享。網絡是最大的知識庫,也是最好的老師,正所謂“沒有你想不到的,只有你找不到的”。以下是我收集的以游戲編程,OpenGL 3D編程相關的免費擴展庫資料。不斷更新中,如果你有好的建義,也請把函數庫名及大概功能寫上,本人負責收集整理。免費共享
SDL
在3D的世界里,SDL可真所胃是大名頂頂,正所謂“為人不知陳近南,自稱英雄也枉然”,因此呢,如果你是做OpenGL開發的,一定要認識一下SDL。我們都知道,在windows系統中,有一個DirectX是游戲開發商的首選的開發包,其背后只支持的Direct3D作為三維圖形接口。而SDL就被認為是非window系統中的DirectX,而且是開源的。SDL所使用的3D圖形接口是OpenGL。但除了圖形之外,它還支持對聲音、鍵盤、鼠標、操縱桿、2D圖像等等的底層處理。現在已有不少游戲使用這個開發包進行開發。
SDL是跨平臺的,目前支持的系統有:Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX
SDL 是用C語言寫的,但是能很好地兼容C++語言。并且能被其它語言綁定使用,如: Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk.
SDL發布支持GNU LGPL v2.0許可協議。也就是說SDL可以免費用于商業應用。
http://www.libsdl.org/index.php
?
glew(OpenGL Extension Wrangler Library )
GLEW是一個跨平臺的C++擴展庫,基于OpenGL圖形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵數,但OpenGL現在都發展到2.0以上了,要使用這些OpenGL的高級特性,就必須下載最新的擴展,另外,不同的顯卡公司,也會發布一些只有自家顯卡才支持的擴展函數,你要想用這數涵數,不得不去尋找最新的glext.h,有了GLEW擴展庫,你就再也不用為找不到函數的接口而煩惱,因為GLEW能自動識別你的平臺所支持的全部OpenGL高級擴展涵數。也就是說,只要包含一個glew.h頭文件,你就能使用gl,glu,glext,wgl,glx的全部函數。GLEW支持目前流行的各種操作系統(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)。
下載:http://glew.sourceforge.net/
ShaderGen 提供簡單的UI接口讓你可以產生固定管線(Fixed Pipeline)的Shader.如果你對Shader不熟悉的話,這是一個不錯的入門工具.詳細網址如下:
http://developer.3dlabs.com/downloads/shadergen/
?
NVSG
The NVIDIA Scene Graph Software Development Kit (NVSGSDK) is an object-oriented programming library for creating scenegraph-based applications. The NVSGSDK provides a comprehensive set of classes that developers can easily combine and extend to create fast and reliable graphics applications.
?
CG_GL
CG_GL is OpenGL API-based open source engine for creating 3D effects. The new release adds depth-of-field with lens blur, and motion blur using shaders. Older version of the engine work on GeForce4 and support full screen blur, transparent object distortion, and glow. Engine is available here: http://tweety3d.no-ip.org. There are also other 3D related programs.
OpenSteer for AI. [MIT license]
Fluid Studios provides a memory manager, matrix class, font generator, radiosity processor, and various other things.
Panda3D (Game/graphics lib, released by Disney after being used for Toontown Online)
math3d++provides the normal matrix, vector and quaternion classes, and their associated operations.
BMF_Font bitmap font library (and font texture generator)
OpenSceneGraph - 3D engine.
Demeter Terrain Engine [LGPL]
?OGLWFW (OpenGL Window Framework)? and basically does what it says on the tin, acts as a framework to create OpenGL windows.here
?ARToolKit An augmented reality toolkit, works really nice and very fun to play with. Documentation is still in the works though so you will have to do with the examples.
MXRToolKit I haven't used this one but it appears to offer about the same as ARToolKit except it comes with documentation.
MathGL++ ?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.
ManagedGL - The cross-platform .NET game library. Development ManagedGL 1 is stalled in faviour of ManagedGL 2. Currently mostly 2D graphics.
LibUFO GUI library (for OpenGL) [LGPL] 一個基于OpenGL的界面庫
Crazy Eddie's GUI (another GUI lib)另一個比較有名氣的游戲界面庫,被OGRE游戲引擎收錄使用。
HGEis a greate library for creating hardware accelerated 2D games for windows that is free for freeware games.
Novodex under physics libraries, free for non-commercial use.一個物理引擎,現在被收購了,改名為:PhysX
Pixel Toaster
http://www.pixeltoaster.com/
Open source c++ library for realtime software rendering.
It gives you a truecolor or floating point framebuffer at your choice, then converts the pixels to the display on the fly. Keyboard and mouse input, and a high resolution timer are also provided.
Currently supports only Windows (DirectX9), but ports to MacOS X and Unix (XWindows etc) are underway.
PTK . PTK is a great Mac/Windows 2d library running on top of OpenGL (so it's fast). It's free for freeware but it does have a PTK Watermark in the corner
MMXRand Almost twice as fast as the original Wagner's C++ code using Pentium MMX instruction by Matthew Bellew:
Tao Framework - .Net libraries for Cg, DevIL, FreeGLUT, ODE, OpenAL, OpenGL, and SDL.
OPAL - Open Physics Abstraction Layer, currently wraps just ODE I think but could be adapted to use other libraries. Choice of BSD or LGPL license.
Blitz++ (math library for C++)
?
PortAudio does cross-platform audio output and input using callbacks.
?
GLFTFont - zlib license
Not exactly a library, but a simple class that bridges freetype and OpenGL allowing drawing of truetype fonts in OpenGL. It's functionality is requested often enough I figured I'd release it
?
Object-Oriented Input System (OIS)
OIS is a library for cross-platform input management. It is under the zlib/libpng license. The library supports keyboard, mouse, and joystick/gamepad input. Action mapping is included in one of the demos, and force feedback is planned for the 0.4.0 release (currently in development).
?
libMikMod is a audio module player and library supporting many formats, includingmod, s3m, it, and xm. Originally a player for MS-DOS, MikMod has been ported to other platforms, such as Unix, Macintosh, BeOS, and Java. libMikMod falls under theLGPL agreement.
?
GLM - a Math Library for OpenGL
?
http://members.tripod.com/markus_ilmola
This library contains useful math functions that are needed when
programming with OpenGL. Mostly vector and matrix math.
?
GIMPACT : Collision detection library.
http://gimpact.sourceforge.net/
?
============================================
目錄
- General purpose libraries
- 3D Graphics
- 2D Graphics
- Video
- Image and Font Handling
- Sound + Music
- Networking
- Model Handling and Character Animation (3D)
- Filesystems, persistence, and format parsing
- Scripting Languages
- Artificial Intelligence
- Mathematics, Physics and Collision Detection
- Debugging, memory checks, general purpose, etc
- Other Tools
?
General purpose libraries
AgateLib (.NET library) | (MPL) |
Alchemist's Game Library (2D game engine) | (Free for non-commercial use) |
Allegro | (giftware) |
Amaltheia (game programming API) | LGPL |
Basic Game Library (Docs in Spanish?) | Creative Commons |
DXGame (Visual Basic 6, 2D game engine/toolkit) | ("100% free to use"), but check for details |
IKA (generic gaming engine) | ('free') |
ClanLib | LGPL |
CRM32Pro multimedia SDK | (free, with sub-libraries under LGPL etc) |
Devlib | LGPL |
Game Incubator | free |
GLFW | ZLIB |
Goblin 2D+ Engine | (free for noncommercial, commercial licenses available for purchase) |
Golden T Game Engine (Java) | (free to use, but requires credit) |
KJAPI | (free for non commercial projects) |
MASI-CiX 2D sprite-based game platform | (free for noncommercial, negotiate for commercial) |
PLIB General purpose library. | LGPL |
Popcap 2D library with extras. | (Popcap license) |
Proyecto dx_lib32 Spanish language. VB6. | Free |
PTK | (free for freeware, commercial license otherwise) |
Realmforge (in C#) | LGPL |
SDL | LGPL |
SDL.NET | LGPL |
SxDL 2D and 3D. | GPL |
The Tao Framework (various libs ported to .Net) | (various/MIT) |
3D Graphics
Amanith (vector graphics) | (QPL) |
Antiryad GX | (various licenses depending on chosen usage, but free for freeware) |
Apocalyx | GPL |
ARToolkit | GPL (or commercial) |
Axiom (OGRE in C#) | LGPL |
CG | (free) |
Crystal Space | LGPL |
Cube | (slightly modified zlib) |
Delta3D | LGPL |
Demeter terrain engine | LGPL |
ExNihilo | (unknown) |
Fly3D | GPL |
FTGL (fonts in OpenGL) | LGPL |
G3D | BSD |
Genesis3D | (similar to GPL) |
Ghost (glut-like) | (Dual license - BL and GPL |
GLee | BSD-like |
Graphics Library Helper (like GLU) | (freeware) |
Heretic/Hexen | (free for non-profit use) |
Interactive Visualisation Framework | LGPL |
Irrlicht | ZLIB |
LightFeather | ZLIB |
MXR Toolkit | GPL |
The Nebula Device | (free license) |
NeoEngine | (MPL) |
NGL (glut-like framework) | LGPL |
NVIDIA Scene Graph SDK | (free to use) |
OGRE 3D | LGPL |
OpenGlean | MIT |
OpenGlut | MIT |
FreeGlut | MIT |
OpenGL Window Framework | ZLIB |
OpenSceneGraph | (OpenSceneGraph licence, like LGPL) |
OpenSG | LGPL |
Panda 3D | (free) |
Qhull | (free?) |
QuakeForge | GPL |
XEngine | ZLIB |
Yake | (LGPL, custom licenses) |
2D Graphics
AntTweakBar (GUI for DX/OGL) | ZLIB |
Crazy Eddie's GUI System | LGPL |
Eclipse | LGPL |
Endogine sprite engine (C#) | ("no restrictions on the use") |
GameVision SDK | (unknown license) |
HGE | (free for non-commercial, otherwisepay) |
hxrender -docs here | ZLIB |
Kyra LGPL | ? |
ManagedGL (C#/.NET/SDL) | LGPL |
ParaGUI (for SDL) | LGPL |
Saq2D (C#) | "free to use for personal/commercial use" |
TinyPTC (open source) | ? |
LibUFO (gui, for OpenGL etc) | LGPL |
zEngine | BSD |
Video
Dirac | (MPL) |
FFmpeg | (open source) |
Theora | ('BSD-like') |
XviD | GPL |
Image and Font Handling
BFont | LGPL |
BMF_font (bitmap fonts in OpenGL) | LGPL |
CImg | (CeCill license) |
Corona | ZLIB |
CxImage | ZLIB |
DevIL | LGPL |
FreeImage | (GPL, FIPL) |
GFL SDK | (free for non-commercial use) |
GLFT_Font | ZLIB |
GTL (Game Texture Loader) | ZLIB |
IJG (jpeg library) | (free?) |
ImageMagick | (apache-style license) |
libPNG | (libPNG license) |
libTiff | (free?) |
Paintlib | (free, must give credit) |
SDL_image | LGPL |
SFont | (choose LGPL orGPL) |
Titan | ZLIB |
Sound + Music
Audiere | LGPL |
BASS | (Free for freeware projects, otherwise commercial) |
FMOD | (Free for freeware projects, otherwise commercial) |
Hekkus Sound System | (For WinCE/Win32/Symbian and .NET.) (Free use, but credit or donation required.) |
libMikMod | LGPL |
libsndfile | LGPL |
Ogg Vorbis | BSD-like |
OpenAL | (?) |
PortAudio | essentially free |
SDL_mixer (requires SDL) | LGPL |
SDL_sound (requires SDL) | LGPL |
Networking
Low level
Dyconnect | ZLIB |
Enet | free use |
HawkNL | LGPL |
libCURL (URL transfer) | Curl license |
SDL_net | LGPL |
Lidgren.Library.Network (.NET/C#) | Unspecified license - contact author |
High-level
Nevrax/NEL | (GPL?) |
Net2 | LGPL |
OpenPlay | (Apple Public Source License) |
OpenTNL | GPL , or commercial |
RakNet | GPL , or free by application |
ReplicaNet | Free for freeware, otherwise commercial |
Zoidcom | Free for noncommercial, otherwise contact author |
Unknown
Game Network Engine |
LGPL |
Model Handling and Character Animation (3D)
Animadead | LGPL |
Cal3D | LGPL |
GPUMesh | (free) |
GNU Triangulated Surface Library | LGPL |
LibASE | LGPL |
lib3DS | LGPL |
Filesystems, persistence, and format parsing
bzip2 | (free) |
Crypto++ | free, but note possible crypto. legal issues |
ezXML | MIT |
libXML | MIT |
LZMA (7-Zip compression) | LGPL or CPL |
LZO | GPL |
PhysFS | zlib |
SDL_Config | LGPL |
SQLite | (public domain) |
TinyXML | zlib |
Unrarlib | free for non-commercial, otherwise GPL |
ZipArchive | GPL , or pay for commercial license |
zipstream, bzip2stream (iostream wrappers for the zlib and bzip2 libraries) | ZLIB |
zlib | ZLIB |
zziplib | LGPL /MPL |
Scripting Languages
AngelScript | ZLIB |
BOO (Reqs .NET/CLI) | MIT/BSD style |
CInt (C interpreter) | free, reg. required for commercial use |
EosScript | LGPL |
GameMonkey | MIT |
GS9 | 'free' for any use |
Guile | Modified GPL - almost LGPL |
IO | BSD |
Javascript | (presumably Mozilla license) |
Lua | MIT |
Perl | Artistic license |
Tcl | free |
Python | free |
Ruby | Ruby license |
Small | ZLIB |
Squirrel | ZLIB |
VBScript | 'license at no charge' |
Artificial Intelligence
FEAR | GPL , other |
OpenSteer | MIT |
PathLib | (old, mainly Czech) |
Mathematics, Physics and Collision Detection
Mathematics
Blitz++ | GPL or Blitz Artistic License) |
GLM (OpenGL helpers) | free? |
Math3D++ (vectors, quaternions) | free? |
MathGL++ (Matrices, Vectors, Quaternions, Linear polynomials with eigen systems) | LGPL |
Mersenne Twister random number generator | free |
VMath (NxM matrix template class) | free |
Physics
Flatland (2D physics) | BSD |
Newton Game Dynamics | Free, but must notify creators |
Novodex | free for noncommercial, contact for commercial |
Open Dynamics Engine (ODE) | BSD |
Open Dynamics Framework | free for both commercial and non-commercial use |
OPAL | BSD or LGPL - please check |
Physical | (free) |
Plane2D (for ODE) | presumably BSD also |
Tokamak | free |
True Axis | free for non-commercial use |
Collision detection:
ColDet | LGPL |
GImpact | LGPL /BSD-like |
Opcode | free usage |
Rapid | free for non-commercial use |
Solid | LGPL |
V-Collide | free for non-commercial use |
Debugging, memory checks, general purpose, etc
Boost (C++ smart pointers, parsers, random numbers, quaternions, and more) | Boost license |
Chattering Pixels libraries (memory, I/O, sorting, timers) | Free for noncommercial use, shareware and commercial licenses also available |
ElectricFence | GPL |
Fluid Studios Logger | free |
Hans Boehm garbage collector for C++ | free use, no warranty |
The Image Debugger (Win32 image output) | free |
IProf('A portable industrial-strength interactive profiler for C++ and C.') | public domain |
LeakTracer | Public domain |
MMGR (memory manager/checker) | free |
OIS (Object-oriented Input System) | ZLIB |
Valgrind (Linux debugging and profiling tool) | GPL |
Other Tools
Doxygen (documentation generator) | GPL |
InnoSetup (installer) | free |
NaturalDocs (documentation generator) (Requires Perl 5.05.) | Free |
NSIS (installer) | free |
Synopsis (documentation generator) | free |
UPX (executable packer) | free |
boost
loki
open gl win frame
gen library
AI lib
game graphics lib
same as previous
math 3D lib
3D engine
terain engine
reality toolkit
another as previous
math gl
gui lib
croll platform 2D text
harware acc
phisics
phisics again
realtime rendering
unti testing
2d lib
3d font lib
math lib
font lib
compresion lib
image loading
tif image loading
VR
triagulae surface lib
tokamak phisics
random numbers
glh lib
Cg
ogre .net
hex render
SDL collide
compresion lib
java game engine
FBX SDK
zip handler
3D Editor anfd BSP Compiler