ambiera home ambiera home

irrEdit Features

irrEdit is a free scene graph editor for Irrlicht Engine .irr files and is capable as being used as world editor, particle system designer, meshviewer and more. It is a visual front end for the Irrlicht Engine, and thus has a lot of impressive features like importing meshes of every format Irrlicht supports, simple but powerful material system and lots of special effects. It contains:

Light Map Generator

irrEdit has a fast built-in light map generator. This is useful for games with static geometry wich needs a fixed, nice looking lighting. Light and shadow informations are simply stored into textures, just as known from for example the Quake 3 game engine:
irrEdits lightmap generator has a lot of options for generating light maps:

  • Diffuse lighting without shadows
  • Shadows (extremely fast)
  • Global illumination (hardware or software based radiosity calculation)
The 'shadows' option is able to calculate shadows for a mid sized level in just a few seconds, and with the other available options such as Shadow Opacity, Subsampling and Ambient Light, it can be made to look similar to Global Illumination. If this isn't enough, irrEdit has a real Global Illumination renderer built in as well. This is similar to the shadows option, but also is able to produce nice effects like color bleeding.

Supported File Formats

irrEdit can import, export and display the following 3d mesh file formats:

3D Studio meshes (.3ds)yes-
Alias Wavefront Maya (.obj)yesyes
B3D files (.b3d)yes-
Cartography shop 4 (.csm) yes-
COLLADA (.xml, .dae)yesyes
DeleD (.dmf)yes-
FSRad oct (.oct)yes-
Irrlicht static meshes (.irrmesh)yesyes
Irrlicht scenes (.irr)yesyes
Lightwave 3D meshes (.lwo)yes-
Microsoft DirectX (.x)yes-
Milkshape (.ms3d)yes-
My3DTools 3 (.my3D)yes-
OGRE meshes (.mesh)yes-
Pulsar LMTools (.lmts)yes-
Quake 3 levels (.bsp)yes-
Quake 2 models (.md2)yes-
STL meshes (.stl)yesyes

Exporting meshes is only necessary when modifying them in irrEdit, for example when generating UV sets for lightmaps. Usually when referenced meshes in a scene, they are never modified and need not to be exported into another format, they stay in the format you are providing them. The following images are supported for textures:

Adobe Photoshop (.psd)yes-
JPEG File Interchange Format (.jpg)yes-
Portable Network Graphics (.png)yesyes
Truevision Targa (.tga)yes-
Windows Bitmap (.bmp)yesyes
Zsoft Paintbrush (.pcx)yes-

Export for textures means here in which formats the editor is able to save generated light maps. Just like meshes, textures are never modified an stay in the format you are providing them when referenced in a scene.

It is easily possible to extend the import file formats using plugins. And if you need irrEdit to export or import a file format it doesn't support yet, just contact us and we can add it for you.

World, Terrain and Particle System Editor

Because irrEdit was created as full featured scene editor, it is possible to edit and place everything needed for games and multimedia applications:

  • Terrain
  • Particle Systems
  • Animated and static Meshes
  • Lights
  • Billboards
  • Sky boxes
  • User entities, provided via plugins
  • And more
Placed entities are called scene nodes and can also be placed relatively to each other, one scene node can be the parent of another one. If the parent moves, all it children will move with it. This is useful for structuring huge scenes, for example to split a level into sectors or rooms and make all items in a room children of that room.
Scenes are stored into .irr files, which can be read and displayed directly by the Irrlicht Engine API which is included with full C++ source in the irrEdit package, and available also for various languages such as Java, Python, Perl, Ruby, Lua, C#, VisualBasic.NET and more.

Plugins and Scripting

If irrEdit doesn't provide a feature you need, it is easily possible to add it. IrrEdit provides three mechanisms for this:

  • C++ plugins extending irrEdits functionality like adding scene nodes and file format importers
  • A Scripting API for adding new commands and tools to the editor
  • C++ plugins for making your game/application run directly inside irrEdit to be able to test it out with the current scene
There are example plugins and scripts with full source available in the irrEdit package to show how this works.