Irrlicht Engine
|
|
This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. Please help to improve this article by introducing more precise citations. (December 2008) |
![]() |
|
| Developer(s) | Nikolaus Gebhardt et al. |
|---|---|
| Stable release | 1.7.2 / 15 November 2010 |
| Written in | C++ |
| Operating system | Cross-platform: Microsoft Windows, Linux, Mac OS X, Windows CE |
| Type | Application framework |
| License | zlib |
| Website | irrlicht.sourceforge.net |
Irrlicht (pronounced [ˈɪɐ̯lɪçt] in German) is an open source 3D engine written in C++. It is cross-platform, officially running on Windows, Mac OS X, Linux and Windows CE and due to its open nature ports to other systems are available, including Xbox, PlayStation Portable,[1] SymbianOS[2] and iPhone.[3]
Irrlicht is known for its small size and compatibility with new and older hardware alike, a shallow learning curve and a large friendly community.[4][5] Unofficial bindings for many languages exist including .NET,[6] Java,[7] Perl,[8] Ruby,[9] Python,[10] FreeBASIC, Lua,[11] Delphi,[12][13] C++Builder,[14] AutoIt[15] and even Game Maker.[16]
Irrlicht's development began in 2003 with only one developer, Nikolaus Gebhardt.[17] Only after the 1.0 release of Irrlicht in 2006 the team grew to currently ten members, most of them being developers.[18]
Irrlicht means "will-o'-the-wisp" in German.
Contents |
[edit] Features
Irrlicht supports 3D rendering via OpenGL, DirectX 8 and 9, and internal software rasterizers. External renderers and windowing systems plug in through simple interfaces, giving rise to community-made SDL, iPhone and SymbianOS devices. The engine comes with a library of standard material renderers, allowing fallback materials where user hardware is unable to handle advanced techniques. New materials can be added to the engine at run-time, allowing users to write their own as required. In addition to legacy fixed-function pipeline materials, programmable Pixel and Vertex Shaders (1.1 to 3.0 and 4.0 using GLSL), ARB Fragment and Vertex Programs, HLSL and GLSL materials are supported.
Irrlicht supports many file formats. It will load and display 3ds Max files, Quake 2 MD2 Models, Maya .obj objects, Quake 3 .bsp maps, Milkshape3D objects, and DirectX .x files.[19] Additional format loaders have been written as external plugins. Lights, cameras and 3D objects are managed as a tree of 'Scene Nodes', arbitrary groupable entities linked together in a scene graph. These nodes are responsible for their own behaviour, but can also be managed by animators, each other, or manually by the user.
A large number of built-in node types exist and can be used together to make complex indoor and outdoor scenes. New nodes are trivial to make and can be added at runtime; many additional node types are available from the community. Node types packaged with Irrlicht include a terrain renderer and sky domes/boxes for outdoor rendering, BSPs for indoor rendering, bone based animated meshes, stencil shadows, billboards and particle systems, water surfaces and primitives.
A skinnable 2D GUI is available, supporting many controls and the ability for users to plug in their own (or community made) custom widgets at runtime. Irrlicht's internal event system provides mouse, keyboard, joystick and GUI events without having to rely on additional libraries.
Filesystem access is abstracted allowing platform-independent file and folder access, and transparent access to files within Zip archives. Other IO features include an XML reader and writer, the ability to take screenshots, manipulate images and meshes and then save them in several different file formats.
Irrlicht's provides support for simple collision detection including mouse picking, but users are advised that this is not intended as a replacement for a full featured physics engine.
[edit] Engine extensions
Irrlicht was designed to be able to load and save the current scene to an XML file; this combined with the engine's open-source licensing model has attracted various programmers and developers to create world editors for Irrlicht to simplify the world-creation process. One such example is the irrEdit world editor, developed by Nikolaus Gebhardt and other members of the company Ambiera.[20] IrrEdit contains a radiosity lightmap generator and a scripting interface using Squirrel scripts. Another newly-risen world editor is Sourena 3D World Editor and is at version 0.2 as of May 2010.
Since Irrlicht does not support sound by itself, Ambiera has also developed irrKlang, an audio library with an API similar to Irrlicht. Being developed by the same group, irrEdit supports the use of sounds in levels made by irrEdit for use with irrKlang-enabled compiled DLLs. Also among Ambiera's creations is irrXML, Irrlicht's XML parser.
Many physics libraries have had plugins and wrappers written for Irrlicht, including Nvidia PhysX, Bullet, and Open Dynamics Engine.
More extensions can be found in the Irrlicht forums and in the irrExt project, a side-project of Irrlicht for special purpose add-ons.
[edit] See also
[edit] External links
- Official website
- Author's blog
- Irrlicht Engine Wiki at irrlicht3d.org
- DevMaster.net details and reviews of Irrlicht
- German Computer Magazine reviewed Irrlicht
- South African Game Development talking about Irrlicht
- An article series on using Irrlicht with Java
- Irrlicht in Linux Journal, April 2009
- A modified texture file used in Irrlicht sample program
- Irrlicht:The art of using GRASP patterns
[edit] References
- ^ "LTE Game Engine". Ltestudios.com. http://www.ltestudios.com/projects/lte-game-engine/. Retrieved 13 November 2011.
- ^ "Irrlicht For S60". Sourceforge.net. 10 December 2008. https://sourceforge.net/projects/irrlichtfors60/. Retrieved 13 November 2011.
- ^ "Announcement about Irrlicht on iPhone". Irrlicht.sourceforge.net. http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=181454. Retrieved 13 November 2011.
- ^ "Irrlicht support forum". Irrlicht.sourceforge.net. http://irrlicht.sourceforge.net/phpBB2/index.php. Retrieved 13 November 2011.
- ^ Chat on Irrlicht (IRC)
- ^ "Irrlicht.Net Cross Platform Project Page". Sourceforge.net. https://sourceforge.net/projects/irrlichtnetcp/. Retrieved 13 November 2011.
- ^ "Jirr: Irrlicht for Java". Jirr.sourceforge.net. http://jirr.sourceforge.net/. Retrieved 13 November 2011.
- ^ "Irrlicht for Perl". Search.cpan.org. http://search.cpan.org/~tels/Games-Irrlicht-0.04/lib/Games/Irrlicht.pm. Retrieved 13 November 2011.
- ^ "IrrRuby". Irr.rubyforge.org. http://irr.rubyforge.org/. Retrieved 13 November 2011.
- ^ "Venom: Irrlicht wrapper for Python". Sourceforge.net. https://sourceforge.net/projects/venom-v2/. Retrieved 13 November 2011.
- ^ "IrrLua, A Lua front end to Irrlicht". Irrlua.sourceforge.net. http://irrlua.sourceforge.net/. Retrieved 13 November 2011.
- ^ "Irrlicht 4 Delphi". Irrlicht.sourceforge.net. http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=10511. Retrieved 13 November 2011.
- ^ "IrrPascal". Sourceforge.net. http://sourceforge.net/projects/irr-pascal. Retrieved 13 November 2011.
- ^ "cppbIrrlicht". Komradstudios.altervista.org. 23 April 2009. http://komradstudios.altervista.org/cppbIrrlicht. Retrieved 13 November 2011.
- ^ "Au3irrlicht". Irrlicht3d.org. 7 September 2010. http://www.irrlicht3d.org/wiki/index.php?n=Main.AutoIt. Retrieved 13 November 2011.
- ^ "GMIrrlicht". Gmc.yoyogames.com. http://gmc.yoyogames.com/lofiversion/index.php/t61910.html. Retrieved 13 November 2011.
- ^ "Interview with the Irrlicht founder". Linuxdevcenter.com. 9 October 2008. http://www.linuxdevcenter.com/pub/a/linux/2005/06/02/irrlicht.html. Retrieved 13 November 2011.
- ^ "Development team members". Irrlicht.sourceforge.net. 14 February 2006. http://irrlicht.sourceforge.net/author.html. Retrieved 13 November 2011.
- ^ Irrlicht features on Freashmeat
- ^ "Official website of the irrEdit Scene editor". Ambiera.com. http://www.ambiera.com/irredit. Retrieved 13 November 2011.
