Irrlicht 3D stuff
Some stuff related to the Irrlicht 3D engine.
Take a look at H-Craft Championship - a game done with the Irrlicht engine: www.irrgheist.com.
If you want to hire me as freelancer - I'm always very happy when I get Irrlicht related projects :-)
Last edit: 25.nov.2010
Free models (maybe more to come)
Last edit: 2009/02/14
I'm no modeler, but it's good enough for testing ;-) No restrictions whatever for usage, but I wouldn't like it if you would claim it to be your own stuff or if you try to sell
it somewhere without changes. I like to hear feedback, especially about stuff I can improve. I might (no guarantee) release any improvements, additional textures and changes
others make and send me at this place. Well, as long as you don't put restrictions on it.
Based on my own rooms. Textures are mostly based on www.cgtextures.com
and some small ones just from browsing google until I found something which looked good enough to use. The .zip should contain (hopefully) all Blender files as well as an .obj usable directly in Irrlicht. No restrictions from my side from using it in any way you like.
My first human model. Everything is made from scratch. Unfortunately it sometimes shows, especially for the animations. Exported as b3d files. adam_base.b3d contains the mesh in a T-Pose and all adam_ani*.b3d files contain only animation data. adam_ani.blend contains the current blender file and adam_mirrormod.blend contains the last mesh which still has the mirror modifier applied.
Last edit: 2009/12/29
is a patch for the blender b3d exporter from gandalf found on http://www.gandaldf.com
The page seems to be down currently, I hope he will put it online again soon ... until then you can get the already patched script from me: b3d_export.py (patched)
My patch added two changes:
First it allows to export animations additionally from first to last frame (previously the current settings of the timeline had always been used). The second change allows to enable/disable exporting of specific b3d nodes. So to export without animations you can disable "Animation Nodes" and to export only animations you can disable "Texture Nodes", "Brush Nodes" and "Mesh Nodes". So this allows to export base-mesh and animations separately.
(for B3D_Exporter_2.06, you don't need it if you downloaded the version from my page)
Last edit: 2007/4/26
Irrlicht engine version used in H-Craft Championship: irrlicht_hcraft_v1_2.tar.gz
I'm using an engineversion with minor modifications. I do always try to get the changes which are 'OK' back in the original engine and recommend using that one. Sometimes it might also happen that code which is put online here, is also already included in the engine. I've put our version online for those who are interested. It's a wild mix of patches, minor improvements, ugly hacks, does mix irrlicht version 0.14 up to current svn versions and includes also some things from spintz
(mainly the VBO's).
To my knowledge the major changes to irrlicht are currently:
- Includes a profiler
- A lot of minor GUI changes, but the GUI system in Irrlicht 1.3 is way better now.
- Vertex Buffer Objects (OpenGL only)
- DDS (compressed textures) support (OpenGL only)
- Some fixes to get smooth .x Animations
- Some changes to get some more comfort in the filesystem (but careful - those changes need also changes in textureloading!)
- I only cared about OpenGL, so DirectX is not guaranteed to run
- And a lot of minor stuff
Last edit: 2007/4/26
Some codes and articles
in the irrlichtforum
which might be of interest:
- Doing internationalization with irrlicht for Cyrillic
- Code for a very small Space Invaders done in Irrlicht as part of the Newyears challenge 2006/2007
- A simple speed profiler
which works with irrlicht
Last edit: 2010/01/22
from zgock from this post
My version contains a few bugfixes (mostly for memory leaks, but also for font-height) and is adapted to a newer Irrlicht version.
To get it working you also need to link freetype (http://www.freetype.org/
) to your project. I tested it with freetype 2.3.5.
For more comfort I have created two more classes. The simpler one is a fontmanager which you can just drop in your project and it will make the memory-management for the fonts easier.
If you also need serialization (loading and saving the gui-elements together with fonts) the fontmanager won't be enough.
To do that we need a fontfactory. That is not supported so far in Irrlicht so you will have to patch Irrlicht itself when you need that (there are reasons why this patch isn't yet in Irrlicht). Once you have patched Irrlicht you can use the the factory, which
looks and works rather similar to the fontmanager.
(for svn 2407 older versions can be found in my older patch series)
Last edit: 2007/4/9
does use the octree which is already available when creating an COctTreeSceneNode. Usually that octree is only used for rendering the scenenode, but with my class it can also be used for the triangle selector. The reason for this was that creating COctTreeTriangleSelector, which is usually used, takes a very long time for complex models. I had also to make some changes in COctTreeSceneNode so i put those files here also. Then engineversion i use myself is currently a mix of Irrlicht 0.14 to Irrlicht 1.2 and svn so i can't guarantee that this code will run. But chances are high that it will work if you copy those files in irrlicht svn or 1.1 sources and add the COctTreeSceneNodeTriangleSelector files to the irrlicht project. But you should backup of the old COctTreeSceneNode sources before!
Last edit: 2010/01/17
A simple stringtable
implementation. It needs tinyXml
Last edit: 2010/01/17
A more complex stringtable
implementation that supports strings with parameters. It also needs tinyXml
Additionally it needs a few more files, I hope I didn't forget any.
Last edit: 2007/8/3
Sometimes you need more than one timer
in your game. For example you have often one global timer which runs always, while
you mostly also need a game-timer which must be paused while your game is in pause-mode. That's why i made a wrapper around the irrlicht timer. You can create several instances of this timer class. You need to call Tick() for each instance regularly.
Last edit: 2009/9/23
from Maya to Irrlicht.
There are a few ways to create and import lightmaps in irrlicht, but none of those worked for us
(Btw. if you don't know what lightmaps are check it here
). What we did was to create the lightmaps in
the modeller and export the scene as .obj files once with the lightmap texture and once as the usual scene. I wrote a small
tool to merge those two .obj files (resulting in a file called .lmo) and modified the .obj loader so it can work with those .lmo
Converter for obj to lmo:
Compile with g++ obj2lmo.cpp -o obj2lmo
Call it as follows: obj2lmo yourmap.obj yourlightmap.obj texture_lightmap.tga
and it will create a file called yourmap.lmo
You can just add the lmo loader by adding the files to your project and calling sceneManager->addExternalMeshLoader for it. You will also need to add fast_atof.h to the project which can be found in the irrlicht sources.