FAQ – Irrlicht Engine - A free open source 3D engine

FAQ

Frequently asked questions and their answers:

What is the Irrlicht Engine?

The Irrlicht Engine is an open source and cross platform 3D engine written in C++ for creating realtime 3D applications. Its main targets are to be easy to use, extremely fast, extensible and crash safe. The engine is a quite flexible graphics engine, and it is possible to write lots of different applications with it. Some are: complex 3D simulation applications, first and third person shooter games with indoor and/or outdoor scenes, real time strategy games, 2D games, …

For more information, look at the features page.

Can I use the engine in a non open source commercial product?

Yes you can. The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib license, not the GPL or the LGPL.

Can I create my game using Irrlicht as game engine?

Of course you can, it’s easy.

But please note: Irrlicht is not a game engine, it only does graphics. For a game, you need a bit more, like sound output and maybe networking and physics, and tools such as a game level editor. You are free to choose any other library to do this. But to make it easier, there are libraries and tools made by us which are independent of Irrlicht, but easily integrate with Irrlicht engine projects. For example, there is irrKlang, a free 3D and 2D sound engine, or irrEdit, a free 3D world and level editor. See the toolset page, or the forum for more information and help about this.

How can I make contributions to the engine?

If you’ve wrote your own SceneNodes, image or mesh loaders or further extensions to the engine, post them into the forum. We will have a look at them and consider to put them on the homepage or even into the SDK of the engine.
There is a tutorial available on the tutorial page, which shows how to extend the Irrlicht engine. If you want your addition to be merged with the development branch, please also try to adhere to the Irrlicht coding rules.

There are lots of other 3D Engines available. So what are the advantages of the Irrlicht engine?

The Irrlicht engine was created by Nikolaus Gebhardt because no available 3D engine satisfied his needs. He wanted an engine which had some awesome features, and no engine wich was available featured these things at the time:

  • Easy to use. All standard things and all cool special effects of the Irrlicht Engine are able to be used without the need to study its documentation for days. For example: To start up the engine, load and show a complete quake 3 level needs only about 6 calls to the engine and about 10 lines of code. Just take a look at the tutorials and examples included in the sdk.
  • Flexibility: The programmer is able to change and influence almost everything in the engine although it is that easy to use.
  • Extreme stability. Most libraries for realtime applications crash when the user does something the library programmer did not expect. This is different in the Irrlicht engine. It prints out a warning to (debug-)log and continues, always trying to keep on running.
  • Fast as lightning. Because speed is always an issue with 3d engines.
    Lots of built-in importers. The engine is able to directly load lots of common file formats because Niko did not want to use converters or exporters, increasing development time. (.3ds, .md2, .obj, .pk3, .ms3d, .bsp, .x, .bmp, .tga, .jpg, .psd, .pcx…)
  • Platform independence. The engine is available on multiple platforms.
  • API independence. Because there are always some driver issues, the Irrlicht engine supports more then one API. Currently there is an OpenGL and Direct3D9 device a null device and two software rasterizers in the main development branch. A Direct3D8 exists in older versions and GLES 1 & 2 and WebGL are under development.
  • No dependencies from other libraries. The engine needs no other libraries and SDKs to be installed. Not for programming with the engine and not for using the engine as end user. E.g. The engine will also start up if no DirectX is installed on the end user system.
  • Detailed Documentation. With lots of examples and tutorials.
    All the standard stuff. It provides you built-in tools and utilities you will often need in 3D applications. Things you do not always want to code again when doing a new application. (GUI System, Font System + Tools, fast 3D Math, Containers, …)
  • Open source. The engine is fully open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.

You can take a look at the features page of the Irrlicht engine, for a more detailed description of most features.

How many polygons is the engine able to draw?

There is no limit. Okay, almost none: The only limit is your hardware. So push out as much polygons as you need, as long as your game runs quickly enough.
Some people keep asking why there are only 10000 polys in the techdemo as maximum. This is only because Niko did not want to include a huge quake 3 level, making the SDK download size bigger. If you want to see the engine render more polys, just replace the demo level with another one, and see for yourself.

I’ve a problem with my code, could you solve it for me please? I get no answer in the forum.

Sorry, but please don’t send your code directly to the maintainers. We read the forums regularly and help there when we can.

The most common reason, why you don’t get any help in the forums is because you did not specify your problem enough. Just pasting 100 lines of code into there and writing “it crashes somewhere here, could you solve it for me” is not enough. Hey, you are the programmer, and at least 60% of the programming time is spent debugging the code. Just try to find out by yourself what you did wrong. You’ll learn more from this then if you let it be fixed by others.

What does ‘Irrlicht’ mean?

Irrlicht is the German word for a fairy-tale creature which glows and flies, and can be found mostly in the vicinity of swamps. The English translation is “will-o’-the-wisp”. Also, the word “Irrlicht” is the composition of the two German words “irr”, meaning “mad” and “Licht”, meaning “light”. The Irrlicht Engine was originally being developed in Austria (country south of Germany, not Australia) and ‘Irrlicht’ is just a cool name, although non German speaking people may not know how to pronounce it.


Because lots of people asked how it is pronounced, Niko uploaded a file in which you can hear a girl saying ‘Irrlicht Engine’

Can I join the Irrlicht Engine team?

Don’t ask us, we’ll ask you!

The team is essentially a meritocracy, so if you’re a respected member of the community who provides lots of bug fixes, patches and/or other enhancements, then you will eventually be invited to join the development team officially.

What will be in the next release of the engine?

The changelog contains a list of changes that will definitely be in the next release.

When will the next version be released?

When it is ready. We’ve not had a release in a long time, but the engine is still under development and actively used.