● How do I use this game engine?
Irrlicht is a graphics engine, not a game engine. It doesn't come with physics, sound or networking. It does feature basic input and collision, but mostly just deals with graphics.
Irrlicht is a library for the C++ programming language. You'll need to learn C++ if you want to use it properly. If you don't know C++ you can start learning through online tutorials, but if you're serious about it you should buy a book.
● Okay, so how do I use Irrlicht?
In order to use Irrlicht you will need a text editor and a C++ compiler, a debugger is also recommended. A C++ IDE (Integrated Development Environment) is a fancy sort of editor that is also a compiler and a debugger, you will need one of these unless you are comfortable using the command line.
We provide project files for the following free IDEs, so if you use one of these you can just double click the project file to get started.
- Visual C++ Express, Microsoft's free IDE
Code::Blocks, a popular cross platform (Windows, Linux, OSX) open source IDE.
Dev-C++, another popular open source IDE.
XCode (OSX users only)
- 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
When you're done, familiarize yourself with the real documentation:
http://irrlicht.sourceforge.net/docu/index.html
Once you are comfortable reading it, it will answer most of your questions.
● How do I search on these forums? I get hundreds of results when I search!
The problem is that the forum search engine searches for posts containing any of the words you enter, not all of the words. You can use boolean operators (AND, OR, NOT) to reduce the number of results. For example, searching for "weapon AND camera" will return far fewer results than "weapon camera"
● Why is nobody helping me?
If you want people to help you, you must put as much effort in to your question as you expect from an answer. Your question must be interesting and show that you are not being lazy but genuinely need help.
Explain what you have tried, what happens and how this is different from what you expect to happen. Also explain what you are trying to do, because you might be doing it the wrong way. Screenshots might also help, you can upload them to Image Shack or another one-click image host.
If you asked your question the smart way and still get no answers, then you can assume nobody knows the answer.
● Why is my model black / white? I don't see my texture.
The Irrlicht camera can't see in the dark! Unless you disabled lighting or added a light node, your node will be black.
You can add a light by calling SceneManager->addLightSceneNode();
Or you can disable lighting on your node by calling node->setMaterialFlag(video::EMF_LIGHTING, false);
If your node is white, then either the texture could not be loaded (check the output window for details), or your model has no texture coordinates. Texture coordinates are held within the vertices and say which parts of the texture are applied to which parts of the model. The process of adding this information is called UV-mapping, and is usually done in your model editor. Here's a UV-mapping tutorial I made for Wings3D.
If you are making a custom mesh or effect manually, you will need to set the TCoords member of each S3DVertex structure.
● How do I use Irrlicht for .Net or Java?
Irrlicht.Net is no longer supported, Irrlicht.NET Cross Platform is now the official .Net wrapper. For Java, you should use Jirr
● How do I compile an Irrlicht app without the console window with MSVC?
You need to set the subsystem and entry point in your linker settings, this is done in "hello world" example, but see this thread for details.
● How do I enable collision on a map made in IrrEdit?
See the loadIrrFile example.
● My program crashes or doesn't compile, I used some code I found on the forums.
There were a lot of API changes between 1.3.1 and 1.4, and there will be more between 1.5 and 1.6. The API is now const correct and some methods that took or returned a signed integer now return an unsigned one. Check the members of classes that inherit Irrlicht interfaces, and make sure the const keywords are in the right place. Where something took or returned an s32, there's a chance it now returns a u32 instead.
Make sure you check the changelog when upgrading between major releases (1.n) as there will be API changes. There will be no breaking changes between minor releases (1.x.n).
● I copied some code from the forums, but the event receiver doesn't compile, how can I fix it?
See the previous question. The signature for IEventReceiver::OnEvent is now-
Code: Select all
virtual bool OnEvent(const SEvent &event)
● The bug I reported is apparently fixed, how do I get the latest development source code?
To download the latest code from SVN, see these instructions by afecelis.
● I rebuilt Irrlicht / installed a new SDK on Windows, and now when I run I get this error:
This happens when your headers and Irrlicht.lib don't match your Irrlicht.dll. You're using old headers/lib with a new dll, or vice versa. Ensure that you don't have an old Irrlicht.dll in your application's directory or in a system path.Run-Time Check Failure #0
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.