The Frequently Asked Questions
The Frequently Asked Questions
The Irrlicht forum's Frequently Asked Questions
1. Why
On request by some forum members (the more advanced users who were starting to dislike some very frequently asked questions) I decided to write a basic FAQ. So here it is .
2. Q&A
First of all. If you're unsure about the syntax, arguments or name of a function: consult the Irrlicht API: http://irrlicht.sourceforge.net/docu/index.html
● What is Irrlicht?
1. Irrlicht is an graphics engine, not game engine (so no sound nor networking, only some basic collision is built in)
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 (if you're new to C++ I advise you to read some tutorials or books (this one is pretty good imo, covers almost everything)).
● How to use Irrlicht?
1. Get an IDE (Integrated Development Environment) like
Microsoft Visual C++ (costs a few hundred $ to a few thousand $)
Relo (free)
Dev C++ (free)
2, Setup Irrlicht for IDE:
Microsoft Visual C++:
http://irrlicht.sourceforge.net/tut001.html
Relo:
http://irrlicht.sourceforge.net/phpBB2/ ... php?t=4132 (brilliant video-tutorials by afecelis explaining every step)
DevC++:
http://irrlicht.sourceforge.net/tut001b.html
Codeblocks + Msvc toolkit2003:
http://irrlicht.sourceforge.net/tut_codeblocks.html
3. Now that you compiled the Helllo World app, take a look at the Irrlicht tutorials:
http://irrlicht.sourceforge.net/tutorials.html
4. If you encounter any problems, visit the forums .
● 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.
● What is IrrlichtNX/IrrlichtNX++?
IrrlichtNX is a CVS version of the Irrlicht engine (http://www.irrlichtnx.mmdevel.de/). It doesn't have anything to do with the original Irrlicht engine, except that it's based on the same source. But it contains various bug fixes, add-ons, optimizations, etc. Soon there will be IrrlichtNX++ which will have a new internal design, completely different to IrrlichtNX and Irrlicht.
● Why isn't my input working?
The syntax of the createDevice() function has changed a bit since v0.6. It has an additional boolean variable vsync, which is the last boolean before the eventreceiver. So place a true/false boolean before your eventreceiver variable to fix this.
● Why isn't my input working with Irrlicht.NET?
The .NET version of the Irrlicht engine is still rather basic and misses a lot of features. One of them is the eventreceiver. So it won't be possible using keyboard/mouse events until a next release of Irrlicht. But thanks to a honourable Guest for pointing this out: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=5102 (using a seperated class for input, DUH!)
● How do I compile Irrlicht for the XBox?
There are already several threads dealing this subject. Noone has managed to compile Irrlicht for the XBox yet. We're waiting for some official news (= from niko ).
● Everything compiled fine but when I run my program I get errors that weren't there before!
This is a library/dll problem. Make sure your program uses the right dll and library. Also check your include folders and the paths to your media files (you should always do this when encountering strange errors).
● 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 (unnessecary).
● 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/ ... .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.
● My FPS camera is like a fish-eye view when I move/rotate it.
You have to change your Field Of View value to 90° to correct this. Irrlicht's FOV is in radians so that's why setFOV(90) doesn't work well. To fix this:
pointertocamera->setFOV(irr::core::GRAD_PI2/2.0f);
So you do PI/2 = ~1.57.
More is coming, please post some more basic/multiply answered questions! Suggestions are always welcome.
3. Usefull links
Other graphic engines:
IrrlichtNX++: http://www.irrlichtnx.mmdevel.de (based on Irrlicht)
Ogre: http://www.ogre3d.org
Sound API's:
Fmod: http://www.fmod.org
OpenAL: www.openal.org
Network API's:
RakNet: http://www.rakkarsoft.com
Zoidcom: http://www.zoidcom.com
Physic libraries:
Newton Game Dynamics: http://www.newtondynamics.com
Novodex: http://www.novodex.com
ODE: http://ode.org
Tokamak: http://www.tokamakphysics.com
On this forum:
General FAQ page: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=2153
General Tools page: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=2963
1. Why
On request by some forum members (the more advanced users who were starting to dislike some very frequently asked questions) I decided to write a basic FAQ. So here it is .
2. Q&A
First of all. If you're unsure about the syntax, arguments or name of a function: consult the Irrlicht API: http://irrlicht.sourceforge.net/docu/index.html
● What is Irrlicht?
1. Irrlicht is an graphics engine, not game engine (so no sound nor networking, only some basic collision is built in)
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 (if you're new to C++ I advise you to read some tutorials or books (this one is pretty good imo, covers almost everything)).
● How to use Irrlicht?
1. Get an IDE (Integrated Development Environment) like
Microsoft Visual C++ (costs a few hundred $ to a few thousand $)
Relo (free)
Dev C++ (free)
2, Setup Irrlicht for IDE:
Microsoft Visual C++:
http://irrlicht.sourceforge.net/tut001.html
Relo:
http://irrlicht.sourceforge.net/phpBB2/ ... php?t=4132 (brilliant video-tutorials by afecelis explaining every step)
DevC++:
http://irrlicht.sourceforge.net/tut001b.html
Codeblocks + Msvc toolkit2003:
http://irrlicht.sourceforge.net/tut_codeblocks.html
3. Now that you compiled the Helllo World app, take a look at the Irrlicht tutorials:
http://irrlicht.sourceforge.net/tutorials.html
4. If you encounter any problems, visit the forums .
● 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.
● What is IrrlichtNX/IrrlichtNX++?
IrrlichtNX is a CVS version of the Irrlicht engine (http://www.irrlichtnx.mmdevel.de/). It doesn't have anything to do with the original Irrlicht engine, except that it's based on the same source. But it contains various bug fixes, add-ons, optimizations, etc. Soon there will be IrrlichtNX++ which will have a new internal design, completely different to IrrlichtNX and Irrlicht.
● Why isn't my input working?
The syntax of the createDevice() function has changed a bit since v0.6. It has an additional boolean variable vsync, which is the last boolean before the eventreceiver. So place a true/false boolean before your eventreceiver variable to fix this.
● Why isn't my input working with Irrlicht.NET?
The .NET version of the Irrlicht engine is still rather basic and misses a lot of features. One of them is the eventreceiver. So it won't be possible using keyboard/mouse events until a next release of Irrlicht. But thanks to a honourable Guest for pointing this out: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=5102 (using a seperated class for input, DUH!)
● How do I compile Irrlicht for the XBox?
There are already several threads dealing this subject. Noone has managed to compile Irrlicht for the XBox yet. We're waiting for some official news (= from niko ).
● Everything compiled fine but when I run my program I get errors that weren't there before!
This is a library/dll problem. Make sure your program uses the right dll and library. Also check your include folders and the paths to your media files (you should always do this when encountering strange errors).
● 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 (unnessecary).
● 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/ ... .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.
● My FPS camera is like a fish-eye view when I move/rotate it.
You have to change your Field Of View value to 90° to correct this. Irrlicht's FOV is in radians so that's why setFOV(90) doesn't work well. To fix this:
pointertocamera->setFOV(irr::core::GRAD_PI2/2.0f);
So you do PI/2 = ~1.57.
More is coming, please post some more basic/multiply answered questions! Suggestions are always welcome.
3. Usefull links
Other graphic engines:
IrrlichtNX++: http://www.irrlichtnx.mmdevel.de (based on Irrlicht)
Ogre: http://www.ogre3d.org
Sound API's:
Fmod: http://www.fmod.org
OpenAL: www.openal.org
Network API's:
RakNet: http://www.rakkarsoft.com
Zoidcom: http://www.zoidcom.com
Physic libraries:
Newton Game Dynamics: http://www.newtondynamics.com
Novodex: http://www.novodex.com
ODE: http://ode.org
Tokamak: http://www.tokamakphysics.com
On this forum:
General FAQ page: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=2153
General Tools page: http://irrlicht.sourceforge.net/phpBB2/ ... php?t=2963
Last edited by bal on Sun Jan 23, 2005 2:41 pm, edited 7 times in total.
How to use Irrlicht
How to use Irrlicht:
1. Irrlicht is an 3D Graphic Engine, no Game engine
2. You need to know C++ for it
Steps How to Use Irrlicht:
1. Get an IDE (Development Environment) like
Microsoft Visual C++ ($)
Relo (free)
Dev C++ (free)
2, Setup Irrlicht for IDE:
Microsoft Visual C++:
http://irrlicht.sourceforge.net/tut001.html
DevC++:
http://irrlicht.sourceforge.net/tut001b.html
3. Now that you have made your first Helllo World app, have a look at the Irrlicht Tutorials:
http://irrlicht.sourceforge.net/tutorials.html
4. If you encounter any problems, visit the forums
1. Irrlicht is an 3D Graphic Engine, no Game engine
2. You need to know C++ for it
Steps How to Use Irrlicht:
1. Get an IDE (Development Environment) like
Microsoft Visual C++ ($)
Relo (free)
Dev C++ (free)
2, Setup Irrlicht for IDE:
Microsoft Visual C++:
http://irrlicht.sourceforge.net/tut001.html
DevC++:
http://irrlicht.sourceforge.net/tut001b.html
3. Now that you have made your first Helllo World app, have a look at the Irrlicht Tutorials:
http://irrlicht.sourceforge.net/tutorials.html
4. If you encounter any problems, visit the forums
I found that
pointertocamera->setFOV(irr::core::GRAD_PI2/2.0f);
really does not work well for it is not really calculating Degrees to Radians...
Change it to the following...
pointertocamera->setFOV(90.0f*180.0f/irr::core::GRAD_PI2);
to have it calculate the right FOV. This makes it also possible to change the FOV easy by just editing the first number (90.0) which now represents the FOV in degrees...
pointertocamera->setFOV(irr::core::GRAD_PI2/2.0f);
really does not work well for it is not really calculating Degrees to Radians...
Change it to the following...
pointertocamera->setFOV(90.0f*180.0f/irr::core::GRAD_PI2);
to have it calculate the right FOV. This makes it also possible to change the FOV easy by just editing the first number (90.0) which now represents the FOV in degrees...