FAQ

This is a list of frequently asked questions:

You'll also find help on the Irrlicht website:

What is Irrlicht?


  1. Irrlicht is a 3D graphics engine. It runs on several platforms (Linux, Windows, MacOSX) and supports several render systems (OpenGL, DirectX, Software). It also has a build-in GUI system and XML serialization. It is NOT a complete game engine, so it does not support sound, networking or advanced physics (but it has some support for collisions) and external libraries have to be used for that.
  2. It is a library for the programming language C++. So you'll need to learn to use that language in order to program correctly with Irrlicht. For a start you can find some c++ tutorials on the web. Also the following free book can be recommended: Thinking in C++
  3. There exists several wrapper to allow using Irrlicht from other languages with it, such as C#, Visual Basic, and even Java (you need Jirr).
  4. For more information see Irrlicht Manual Chapter 1

How to use Irrlicht?


Get an IDE (Integrated Development Environment) like

Please note that an IDE is not required. You can just use a compiler/linker, such as GCC.
See here for C++ IDEs

How to Setup Irrlicht for an IDE?


  1. Microsoft Visual C++ - http://irrlicht.sourceforge.net/docu/example001.html
  2. Relo - http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=4132 (brilliant video-tutorials by afecelis explaining every step)
  3. DevC++ - http://irrlicht.sourceforge.net/tut001b.html or a DevPak at DevPaks.org (http://devpaks.org/list.php?category=3D%20Graphics)
  4. Codeblocks (use Cmoibenlepro's template for Irrlicht projects) -http://www.danielpatton.com/afecelis/files/irrlicht_template_1_1.zip Also, here is a tutorial for setting it up on linux - Setting Up Code Blocks On Linux
  5. KDevelop (http://www.kdevelop.org/) - Setting up KDevelop on Linux

For starters, take a look at the | Hello World example. Or you could take a look at the Irrlicht tutorials - http://irrlicht.sourceforge.net/tutorials.html. If you encounter any problems, visit the forums for help. ;)

Does Irrlicht support rigged meshes and their animations?


Yes, Irrlicht will import meshes that are rigged in many formats.

Currently supported mesh file formats are:

Animated and Rigged:

  • B3D files (.b3d)
  • Milkshape (.ms3d)
  • Microsoft DirectX (.x) (binary & text)

Animated only:

  • Quake 2 models (.md2)
  • Quake 3 models (.md3)

Static:

  • 3D Studio meshes (.3ds)
  • Alias Wavefront Maya (.obj)
  • Cartography shop 4 (.csm)
  • COLLADA (.xml, .dae)
  • DeleD (.dmf)
  • FSRad oct (.oct)
  • Irrlicht scenes (.irr)
  • My3DTools 3 (.my3D)
  • OGRE meshes (.mesh)
  • Pulsar LMTools (.lmts)
  • Quake 3 levels (.bsp)

However, take note this is not a complete list and community added formats are also available. In addition, there are exporters for popular 3D packages (Blender, 3DSMax, Gile[s], ..) included in the SDK.

How do I search on these forums? I get a few dozen pages every time I search!


The problem is that the search engine of this forum isn't quite optimized and gives much more results than you need. To avoid this problem, you can use boolean words like AND, OR and NOT in your search query. E.g.: 'camera AND weapon' will search for posts containing both camera and weapon, thus decreasing the amount of results. You can combine several booleans, also.

Will Irrlicht work with Character Studio?


Yes it will. If you export you files with the FBX exporter 1st, reset your project, import the FBX file, then export to desired format (preferably X), then irrlicht will be able to use the files.

How do I compile Irrlicht for the XBox?


Irrlicht has included some XBOX defines to make it easier for official XBOX developers to use Irrlicht as prototype engine. There is no official support for compiling Irrlicht on XBOX and there will be no one, because Niko (=Irrlicht developer) don't want to get in conflict with Microsoft, because developing on an XBOX with an XDK is only legal for licensed XBOX developers.

I'm using Visual Studio and when I try to compile Irrlicht's source I get a message saying: Could not find libci.lib


Just add libci.lib to your Ignored Libraries (somewhere in your Project Settings -> Linker). Then it will compile fine. The file is not needed but DirectX wants to call it (unnecessary).

When I run my Irrlicht application, I get the message "ZN3IRR12createDeviceENS_5video13E_DRIVER_TYPEERKNS_4core11dimension2dIiEEjbbbPNS_14IEventReceiverEPKw could not be located in the dynamic link library Irrlicht.dll"


It looks like you are using the wrong Irrlicht.DLL. There are two. One inside bin\Win32-gcc and one in bin\Win32-VisualStudio. Whatever you used, now use the other one.

How can I repeat/continue a movement/function when my key is pressed? My program only does it once!


Check this link: http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=808. The point is that you have to use an boolean array containing a boolean value for every key. If that key is pressed, set its value to true. Then you check what key is pressed inside the draw-loop so that it'll be executed every frame.

How to use Irrlicht with Mac OS X?


You can find full documentation about installing and creating projects with Irrlicht on the Macintosh through XCode, Eclipse and through Makefiles. You can find this documentation here.

There is now official support for OSX via the native Irrlicht-OSX driver. There are some special releases with MacOS in the title, just use them. If you want to use a more recent version from SVN for example, you need a recent XCode version to be able to use the provided project file from the Irrlicht SDK. You may also have to add or remove some source files from this project. But otherwise all things should work and you should get a working Irrlicht-OSX library to be used with the examples or your own app.

The following text is for building a X11 device for OSX on your own:

After making a change to the Makefile to use /usr/X11R6/include and /usr/X11R6/lib, the Irrlicht.a will build. In order to then compile your program, use:

g++ file.cpp -o file -Llib/Linux -lIrrlicht -I./include /usr/X11R6/lib/libX11.dylib /usr/X11R6/lib/libXxf86vm.dylib /usr/X11R6/lib/libGL.dylib /usr/X11R6/lib/libGLU.dylib

(assuming your source is called file.cpp and is in the directory containing Irrlicht's lib and include directories). This will then give you two warnings about _glPointParameteri and _glPointParameteriv being shared with the OS X GL framework - no problem. Here is the problem though, running it claims this: "Creating X window... Xlib: extension "XFree86-VidModeExtension" missing on display ":0.0". Segmentation fault" Even though Apple's X11 client is based on XFree86, it simply does not work. You can disable the vidmode extensions via IrrCompileConfig.h, though, loosing fullscreen support.

A user question from xifeng:

I want to Import the OGRE mesh file and skeleton file to the irrlicht ,but I found that the irrlicht do not support the skeleton file,can anyone tell me how to do?

Answer: Please, go to the forum and ask it there.