Middleware for Computer Games and Interactive Computer Graphics

3 downloads 1357 Views 163KB Size Report
Mac OS X many (incl. C/C++, C#, Java) requires separate extension for 3D rendering context. Open Source. FLTK. Windows, Linux,. Mac OS X many (incl. Lua,.
No More Reinventing the Virtual Wheel: Middleware for Computer Games and Interactive Computer Graphics Eike Falk Anderson and Christopher E. Peters Interactive Worlds Applied Research Group, Coventry University, United Kingdom

The lists below present a partial survey of Open Source and easily accessible middleware available for interactive graphics and games that we have found to be particularly useful for games and graphics education.

1. Graphics Middleware 1.1. Rendering Context GLUT GLFW SDL

platform many (incl. Linux, Windows) Windows, Linux, Mac OS X, FreeBSD many (incl. Linux, Windows)

bindings C/C++, Fortran, ADA C/C++, D, Delphi, Lua, Visual Basic, MASM32 many (incl. C/C++, C#, Java)

restrictions -

licence Free

-

Open Source

-

Open Source / Other

platform Windows, Linux, Mac OS X

bindings many (incl. C/C++, C#, Java)

licence Open Source

Windows, Linux, Mac OS X Windows, Linux, Mac OS X many (incl. Linux, Windows)

many (incl. Lua, C/C++, Python) many (incl. C/C++, Python) many (incl. C/C++, C#, Java)

restrictions requires separate extension for 3D rendering context -

Open Source

-

Open Source / Other

restrictions requires separate input library OpenGL only

licence Open Source (LGPL / MIT) Open Source

bindings C/C++, Delphi, Visual Basic C, C++, C#

restrictions -

licence Open Source

-

Open Source

many (incl. C, C++, C#, Java)

-

Open Source

1.2. Graphical User Interfaces 1.2.1. Native GUIs GTK+ FLTK wxWidgets QT

Open Source

1.2.2. In-Application GUIs CEGUI GiGi

platform Windows, Linux, Mac OS Windows, Linux

bindings C/C++, C# C/C++

1.3. Image Loading DevIL FreeImage ImageMagick

platform Windows, Linux, Mac OS X Windows, Linux, Mac OS X Windows, Linux, Mac OS X

©2010. This work is licensed under the creative commons attribution 3.0 Unported License. creativecommons.org

1

1.4. 3D Model Loader restrictions -

licence Open Source

bindings C/C++, Java, Lua, Python C/C++

restrictions -

licence Open Source

-

Open Source / Other

bindings C/C++, Java, Python, C# C/C++, C#, D, Lua, Python

restrictions -

licence Open Source / Other (LGPL/MIT) Open Source

platform many (incl. Linux, Windows, Mac OS X) Windows, Linux, Mac OS X, iPhone many (incl. Linux, Windows) Windows

bindings C/C++

restrictions -

licence Open Source (BSD/LGPL)

C/C++

-

Proprietary

C/C++

-

Open Source (ZLib) Free (noncommercial use) / Other

platform many (incl. Linux, Windows)

bindings C/C++

restrictions -

BASS

Windows, Linux, Mac OS X, iPhone

-

OpenAL

many (incl. Linux, Windows)

C/C++, Delphi, Visual Basic, C#, MASM32, Java C/C++

requires separate audio file loader

licence Free (noncommercial use) / Other Free (noncommercial use) / Other Open Source / Other

bindings C++

restrictions -

licence Open Source

many (incl. C/C++, Java)

-

Open Source

AssImp

platform Windows, Linux

bindings C/C++, D, BLITZMAX, others planned

1.5. High-Level Graphics and Visualisation 1.5.1. Scene Graphs OSG Visualization Library

platform many (incl. Linux, Windows) Windows, Linux, Mac OS X

1.5.2. Game Rendering Engines OGRE Horde3D

platform Windows, Linux, Mac OS X Windows, Linux, Mac OS X

requires OpenGL 2 or better

2. Games Specific Middleware 2.1. Physics ODE Newton Game Dynamics Bullet Havok

C/C++

2.2. Sound FMOD

2.3. Scripting TinyXML Lua

platform many (incl. Linux, Windows) many (incl. Linux, Windows)

©2010. This work is licensed under the creative commons attribution 3.0 Unported License. creativecommons.org

2

Python

many (incl. Linux, Windows)

many (incl. C/C++, Java)

-

Open Source

RakNet

platform Windows, Linux, Mac OS X, iPhone

bindings C/C++

restrictions -

ENet

Windows, Linux

C/C++

-

licence Free (noncommercial use) / Other Open Source

2.4. Networking

©2010. This work is licensed under the creative commons attribution 3.0 Unported License. creativecommons.org

3

Suggest Documents