HOME

TheInfoList



OR:

Irrlicht (pronounced in German) is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
written in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
. It is
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
, officially running on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Windows CE Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is an operating system subfamily developed by Microsoft as part of its Windows Embedded family of products. Unlike Windows Embedded Standard, which is base ...
and due to its open nature ports to other systems are available, including
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
,
Xbox Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the na ...
(up to Irrlicht version 1.8.1),
PlayStation Portable The PlayStation Portable (PSP) is a handheld game console developed and marketed by Sony Computer Entertainment. It was first released in Japan on December 12, 2004, in North America on March 24, 2005, and in PAL regions on September 1, 2005, ...
,
Symbian Symbian is a discontinued mobile operating system A mobile operating system is an operating system for mobile phones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as typic ...
, iPhone,
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partner. "T ...
, Sailfish OS via a QT/Qml wrapper, and
Google Native Client Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independen ...
. Irrlicht is known for its small size and compatibility with new and older hardware alike, ease of learning, and a large friendly community. Unofficial bindings for many languages exist including
AutoIt AutoIt is a freeware programming language for Microsoft Windows. In its earliest release, it was primarily intended to create automation scripts (sometimes called macros) for Microsoft Windows programs but has since grown to include enhancements ...
,
C++Builder C++Builder is a rapid application development (RAD) environment, originally developed by Borland and owned by Embarcadero Technologies (a subsidiary of Idera Software, Idera), for writing programs in the C++ programming language currently targeti ...
,
FreeBASIC FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer m ...
, GameMaker Language,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
, .NET,
Object Pascal Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods. ...
(
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
),
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
, and
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
, though most of them have not been maintained for five years or more. Irrlicht's development began in 2003 with one developer, Nikolaus Gebhardt. Only after the 1.0 release of Irrlicht in 2006 did the team grow to ten members as of 2011, most of them being developers. Irrlicht is a common German term for a
will-o'-the-wisp In folklore, a will-o'-the-wisp, will-o'-wisp or ''ignis fatuus'' (, plural ''ignes fatui''), is an atmospheric ghost light seen by travellers at night, especially over bogs, swamps or marshes. The phenomenon is known in English folk belief, ...
.


Features

Irrlicht supports 3D rendering via
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
,
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
8, 9 and internal software rasterizers. DirectX 8 will not be supported after 1.8.1, effectively ending support for Xbox. External renderers and windowing systems plug in through simple interfaces, giving rise to a community-made
Simple DirectMedia Layer Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games ...
(SDL) video driver and support for iPhone and
Symbian Symbian is a discontinued mobile operating system A mobile operating system is an operating system for mobile phones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as typic ...
devices. The engine comes with a library of standard material renderers, allowing fallback materials where user hardware is unable to handle advanced methods. New materials can be added to the engine at run-time, allowing users to write their own as needed. 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 The High-Level Shader Language or High-Level Shading Language (HLSL) is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the shader assembly language, and went on to become the required shading language f ...
, Cg and
GLSL OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipeli ...
materials are supported. Irrlicht supports many file formats. It will load and display 3ds Max files, Quake 2 MD2 Models, Wavefront .obj objects, Quake 3 .bsp maps, Milkshape3D objects, and DirectX .x files. 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 Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music *Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who recor ...
. These nodes are responsible for their own behaviour, but can also be managed by animators, each other, or manually by users. Many 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,
binary space partitioning In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a represent ...
(BSP) for indoor rendering, bone based animated meshes, stencil shadows, billboards and particle systems, water surfaces and primitives. A skinnable 2D
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(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 I/O 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 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 A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
.


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 Irrlicht (pronounced in German) is an open-source software, open-source game engine written in C++. It is cross-platform, officially running on Microsoft Windows, Windows, macOS, Linux and Windows CE and due to its open nature ports to other sys ...
world editor, developed by Nikolaus Gebhardt and other members of the company Ambiera. IrrEdit contains a radiosity
lightmap A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
generator and a scripting interface using
Squirrel Squirrels are members of the family Sciuridae, a family that includes small or medium-size rodents. The squirrel family includes tree squirrels, ground squirrels (including chipmunks and prairie dogs, among others), and flying squirrels. Squ ...
scripts. Since Irrlicht does not support sound by itself, Ambiera has also developed irrKlang, a non-free, proprietary 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 Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
PhysX PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. Initially, video games supporting PhysX were meant to be accelerated by PhysX PPU (expansion cards designed by Ag ...
,
Bullet A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. Bullets are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax. Bullets are made in various shapes and co ...
, and
Open Dynamics Engine The Open Dynamics Engine (ODE) is a physics engine written in C/C++. Its two main components are a rigid body dynamics simulation engine and a collision detection engine. It is free software licensed both under the BSD license and the LGPL. O ...
. More extensions can be found in the Irrlicht forums and in the irrExt project, a side-project of Irrlicht for special purpose add-ons. There are also some new technologies in forums such as
Deferred shading In the field of 3D computer graphics, deferred shading is a screen-space shading technique that is performed on a second rendering pass, after the vertex and pixel shaders are rendered. It was first suggested by Michael Deering in 1988. On ...
or
Shadow mapping Shadow mapping or shadowing projection is a process by which shadows are added to 3D computer graphics. This concept was introduced by Lance Williams in 1978, in a paper entitled "Casting curved shadows on curved surfaces." Since then, it has b ...
. Many users contribute extensions such as Compute Shaders (
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
4.3) and Tessellation Shaders (Shader Model 5.0).


Projects using it

* ''Amulet of tricolor'', a 2D game * ''Bolzplatz 2006'' by Xenoage Software, a soccer game. * ''
Bugsnax ''Bugsnax'' is an adventure video game developed by independent game studio Young Horses. In the game, players explore a mysterious island and attempt to find and capture the eponymous half-bug-half-snack creatures. The game was unveiled in Ju ...
'', a monster collection adventure game. * '' Build A World EDU'' an educational scenario-based game; however it uses its own extremely modified and stripped-down version of Irrlicht * ''Craft The World 2014'' by Dekovir Entertainment, a sandbox game that combine mechanics from Terraria and Dungeon Keeper games * ''Eve'', a robot simulator by the ''Biologically Inspired Robotics Group'' (BIRG) at the ''Swiss Federal Institute of Technology'' in Lausanne. * ''Galactic Dream: Rage of War'', a commercial space strategy game by Evolution Vault * ''
Gekkeiju Online was a 3D MMORPG developed by a Finnish indie software company, Coolhouse in 2003. It incorporates anime-style characters into a medieval fantasy world. ''Gekkeiju Online'' was a GameOgre.com online game of the week, highlighting the MUD-st ...
'', a gratuitous fantasy multi user role playing game * '' H-Craft Championship'', an open source SciFi racing game * ''
Minetest ''Minetest'' is a free and open-source sandbox video game and game creation system with focus on voxel graphics. It is written primarily in C++ and makes use of the Irrlicht Engine. ''Minetest'' provides an API for users to write their own gam ...
'', an open-world-game similar to ''
Minecraft ''Minecraft'' is a sandbox game developed by Mojang Studios. The game was created by Markus "Notch" Persson in the Java programming language. Following several early private testing versions, it was first made public in May 2009 before being ...
'' * '' Octodad: Dadliest Catch'', a comedic fatherhood simulator * Project Chrono * ''Schwarzerblitz'', a 3-D fighting game released in 2019 for Windows PC. It's heavily inspired by Dead or Alive and Soul Calibur * ''Sokoban Challenge'', a 3D remake of the classic puzzle game Sokoban for Android * ''
Star Ruler ''Star Ruler'' is a space 4X / RTS hybrid developed and published by American company Blind Mind Studios. was first announced on July 5, 2009 in the Irrlicht Community Forums, the game engine on which was based. It was released on August ...
'', a 4X game in space * ''
SuperTuxKart ''SuperTuxKart'' (''STK'') is a free and open-source kart racing game, distributed under the terms of the GNU General Public License, version 3. It features mascots of various open-source projects. ''SuperTuxKart'' is cross-platform, runn ...
'' (since version 0.7), a 3D kart racing game; though since version 0.9, STK uses an extremely heavily modified version of Irrlicht, including a whole new OpenGL 3-based renderer called "Antarctica"


See also

*
OGRE An ogre ( feminine: ogress) is a legendary monster depicted as a large, hideous, man-like being that eats ordinary human beings, especially infants and children. Ogres frequently feature in mythology, folklore, and fiction throughout the wor ...
*
OpenSceneGraph OpenSceneGraph is an open-source 3D graphics application programming interface (library or framework), used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling. ...
*
Panda3D Panda3D is a game engine that includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Panda3D is free, open-source software under the revised BSD license. Panda3D's intended game-development ...
* Delta3D *
Crystal Space Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others. The first public release was on August 26, 1997. It is typically used as a game engine but the framework is more general and can be used ...
* Visualization Library


References


External links

*
Author's blog

Irrlicht wiki
at irrlicht3d.org


Further reading

*
Irrlicht review
at heise.de (paywalled)
Using Irrlicht with Java
at
Bright Hub Bright may refer to: Common meanings *Bright, an adjective meaning giving off or reflecting illumination; see Brightness *Bright, an adjective meaning someone with intelligence People *Bright (surname) *Bright (given name) *Bright, the stage name ...

Irrlicht how-to
in
Linux Journal ''Linux Journal'' (''LJ'') is an American monthly technology magazine originally published by Specialized System Consultants, Inc. (SSC) in Seattle, Washington since 1994. In December 2006 the publisher changed to Belltown Media, Inc. in Houston ...
(April 2009)
GPGPU OpenGL-only focused fork
at
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
{{video game engines 3D scenegraph APIs Free 3D graphics software Free software programmed in C++ Game engines for Linux Software using the zlib license Video game engines