Irrlicht Engine - A free open source 3D engine

Welcome to the Irrlicht Engine

The Irrlicht Engine is an open source realtime 3D engine written in C++. It is cross-platform, using D3D, OpenGL and its own software renderers. OpenGL-ES2 and WebGL renderers are also in development. It is a stable library which has been worked on for nearly 2 decades. We've got a huge community and Irrlicht is used by hobbyists and professional companies alike. You can find enhancements for it all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings and so on. And best of all: It's completely free.

New SotW & 0.7 development

I uploaded a new shot of the week, which shows a scene created by afecelis. You can find more informations in the Irrlicht engine forum in this thread.
Some news about the development of the next version of Irrlicht: I am currently working on a new material system. The current material system is easy to use, but it is unflexible and only provides a very limited amount of materials (currently about 15). The new one will be 100% backward compatible with the current material system, but it will be extensible. It will be possible to add easily new materials and to access every renderstate of OpenGL, D3D8 and 9, even vertex and pixel shaders if you like. So for example, if you want per pixel lighted, normal mapped polygons in the engine but they are not built in yet, you will be able to simply add them as you can currently add new customized scene nodes.

More projects using Irrlicht

If you are new to Irrlicht, there is a very objective article available on freshmeat.net, giving a short overview about the engine. It was written by Ian Gowen and also comments my rusty english, which I commented in return. 😉
There are several new projects using the Irrlicht Engine. I added links to all homepages of them to the link section:

  • 2080 – Space Colonisation, a space game hosted by sourceforge and eve-corp, there is already a tech demo available
  • Necor, a 3rd-person network action game.
  • Project Urbanus, an adventure/quiz-like game with a 3rd person view, playing in a real city in the 1920’s.
  • Tower, a role playing game hosted by sourceforge.

I also replaced the lemon team icon with a newer one. I chose the new shot of the month from a posting by s32_weaselType, it is a first person shooter he is working on.
And last, I updated the DevCpp tutorial, several people sent corrections for it, thanks to all!

Game Maker .DLL && Updates

Game Maker is a freeware tool for making it easy to create games. It seems to target at non-programmers, but I think this tool is also useful for quick prototyping. Xception now created a plugin .DLL for GameMaker, which makes it possible to use the Irrlicht Engine in this tool and to create 3d games with it.
A Link to to Xceptions page was added to the link section and I updated the link to ‘the agency’ project, which is now hosted on sourceforge.net. I also updated the development page.
And last, I uploaded a new shot of the month. It shows the Irrlicht Engine Meshviewer, which comes with the Irrlicht Engine SDK. I enhanced it to load also Quake 3 .pk3 files and I’ll include this little change with the next release.

Physic engine integration tutorials

Thomas Suter updated his Irrlicht Engine ODE tutorial to make it work with the new engine version. The irrlicht.sf.net copy of this tutorial is now updated too. Also, there is a completely new external tutorial available: Mercior wrote one, showing how to use Irrlicht with a new physics engine named ‘newton game dynamics’.
This means the engine seems to work now with three popular physics engines: ODE, Tokamak and Newton. Links to all tutorials are available in the tutorial section.

Doc upload and new IotM

Too late as the tradition demands, I uploaded now the documentation files of Irrlicht 0.6. Happy browsing. 🙂
I also uploaded a new image of the month. It shows a scene of a game made with Irrlicht. It is called ‘T’Quai The Dragon Slayer’. Some informations about the game can be found here and in the forum.

Happy birthday Irrlicht Engine!

Exactly 365 days ago, the first version of the Irrlicht Engine (0.1) was released. This means, the Irrlicht Engine today celebrates its first birthday. Time for some statistics:

  • In the course of the last year, Irrlicht evolved from a totally unknown C++ project to one of the most popular open source 3d engines. As for example sourceforge’s software map reveals.
  • Thousands of programmers downloaded the Irrlicht Engine SDKs. Unfortunately, the sourceforge download statistics currently do not work, but for example: During only 2 months, version 0.4 has been downloaded 14000 times.
  • There have been 10 official releases: 0.1, 0.1.5, 0.2. 0.2.5, 0.3, 0.4, 0.4.1, 0.4.2, 0.5 and 0.6. This means one release about every 35 days. That was a lot of work. Really.
  • We’ve got a constantly growing community. Every day, there are 45.66 new posts in the forum. The database already has a size of 24 MB, and 2.5 new users are registering every day. Soon we’ll reach the 10000th post in the forum. 😉
  • In version 0.1, there were 28.512 lines and 739KB of code in 183 source files. The latest version, 0.6 has 116.000 lines and 3473KB of code in 455 files. The engine now consists of 4 times more code than a year before.

As you can see, the engine is very young, compared to other open source 3d engines, but it is evolving rapidly.
A brief overview about my future plans:

  • Head for version 1.0. Within the next year, we should find an end of adding new features to the engine and try to make everything stable and run without bugs.
  • I’ve got an idea of creating a donation button on the homepage using paypal or sourceforge’s system to be able to buy more hardware and books for further development. But I don’t know yet if it works fine with austria, where I live. And also, I don’t think a lot of money would be donated, so I am still guessing.
  • Maybe a top level domain for the engine would be cool. But I am unsure in this case too. irrlicht.sf.net is also cool.

Thanks to all users and supporters of the engine! All this would not be possible without you. Lets go on, for the next release. 🙂

Irrlicht 0.6 released!

Today, I released Irrlicht 0.6. The new SDK can be downloaded from the download page. You might consider upgrading to the new version, if you need something from this list:

  • Improved .X file reader. Now loads, displays and animates 99% of all .x files it was tested with.
  • Integrated XML parser and writer. Reads UTF-16 as well as ASCII text, and directly out of compressed .zip files if needed.
  • Lots of new GUI widgets like ComboBoxes, ToolBars, PushButtons and ImageButtons.
  • A new tutorial which shows how to create a complete mesh viewer application.
  • Resizeable rendering window.
  • Full Filesystem support in Linux. (as well as some other bug fixes for this OS)
  • Lots of small additions and bug fixes.

A detailed description of all changes can be read in changes.txt. I also uploaded the new tutorial to this webpage, where it can be read online.

Fog

During the last days I was adding some missing features to the engine. In fact, I had a long list with lots of user requests. One of the most basic missing features was fog. It was not very difficult to add, took me about 20 minutes to update the D3D and OpenGL renderer. In 0.5 it will be possible to choose between pixel and vertex, exponential and linear fog, and also range based vertex fog is supported. You can see the result at the left.
But the shot does not only show the new fog, there is also another new feature. Take a closer look. Okay, you cannot see it? Hint: It is a shot of the OpenGL renderer, not D3D. Right, if you are an Irrlicht Engine user, you should now see it. Another long missed feature. 😉
As always, the screenshot was added to the screenshot section.

GUI Enhancements & 3D Game Editor

As you can see at the screenshot on the left, I am currently working on huge improvements of Irrlicht’s user interface environment. I already fixed lots of API problems and made it easier to use. And I added new widgets:

  • Menus: complete with submenus and also cabable of being used as context menu (when you do a right click for example)
  • Editboxes: with support for clipboard copy & pasting, scrolling, unicode text, short cuts and a lot more.
  • Tabcontrols: everything you need to get more user interface elements on the screen.

These will be included in the next release, hope you’ll find it useful. I added the screenshot to the screenshot page.
The shot also shows the prototype of a 3D game editor I am working on. I am just testing and playing around, it doesn’t mean that I’ll create a generic 3d game editor for the Irrlicht Engine. 🙂

Email problem & updates

I am constantly getting more emails. Besides about 150 spam mails, there are also 5-10 mails from Irrlicht Engine users every day. I am using some very agressive configured spam scanners to get rid of the spam, and in this way some of real mails might get lost. I am trying to answer each mail sent to me, and this is consuming a lot of time. So if you only have a basic question, consider posting it into the forum, you might get an answer more quickly.
If you didn’t get an answer from me per mail after 3-5 days, simply send it again, maybe I didn’t recieve it. I updated the author page with a similar text like in this news item, and I added 3 new answers to the FAQ. They are describing for example why there is no CVS, and when the next release will be available. I also updated the development page with the current status of the development, here some details:

  • Working on the .x animation player, loading, triangulation and mesh optimization is already done.
  • Modifying the GUI environment a little bit, also considering some useful hints by saigumi.
  • Refactoring the internal engine. Trying to add some missing features spottet out by keless.

And last, but not least: I added a link to a new project of keless: IrrLichtRPG – Erring Light. I updated other parts of the link page too, for example the ICE Framework now has a new icon.