It is completely cross-platform, using D3D, OpenGL and its own software renderers, working on all major operating systems.
Here are some key features of "Irrlicht Engine":
· High performance realtime 3D rendering using Direct3D and OpenGL [more]
· Platform independent. Runs on Windows, Linux, OSX, Solaris, and others.[more]
· Huge built-in and extensible material library with vertex, pixel, and geometry shader support [more].
· Seamless indoor and outdoor mixing through highly customizeable scene management. [more]
· Character animation system with skeletal and morph target animation. [more]
· Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
· Several language bindings which make the engine available to other languages such as C#, VisualBasic, Delphi, Java ...
· Two platform and driver independent fast software renderers included. They have different properties (speed vs. quality) and feature everything needed: perspective correct texture mapping, bilinear filtering, sub pixel correctness, z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing, and more.
· Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, ...
· 2D drawing functions like alpha blending, color key based blitting, font drawing, and mixing 3D with 2D graphics.
· Clean, easy to understand, and well documented API with lots of examples and tutorials.
· Written in pure C++ and totally object oriented.
· Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), COLLADA (.dae), Blitz3D (.b3d), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), Microsoft DirectX (.X)... [more]
· Direct import of Textures: Windows Bitmap (.bmp), Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush (.pcx)... [more]
· Fast and easy collision detection and response.
· Optimized fast 3D math and container template libraries.
· Directly reading from (compressed) archives. (.zip, .pak, .pk3, .npk)
· Integrated fast XML parser.
· Unicode support for easy localisation.
· Works with Microsoft VisualStudio, Metrowerks Codewarrior, Bloodshed Dev-C++, Code::Blocks, XCode, and gcc 3.x-4.x.
· The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.
· Animated water surfaces
· Dynamic lights
· Dynamic shadows using the stencil buffer
· Geo mip-mapped terrain
· Bump mapping
· Parallax mapping
· Transparent objects
· Light maps
· Customizeable Particle systems for snow, smoke, fire, ...
· Sphere mapping
· Texture animation
· Skyboxes and skydomes
· Volume Light
· Direct3D 8.1
· Direct3D 9.0
· OpenGL 1.2-3.x
· The Irrlicht Engine software renderer.
· The Burningsvideo Software Renderer
· A null device.
Shaders and Materials:
· Pixel and Vertex Shaders 1.1 to 3.0
· ARB Fragment and Vertex Programs
· Windows 98, ME, NT 4, 2000, XP, XP64, Vista, CE
· Sun Solaris/SPARC
· All platforms using SDL
· JPEG File Interchange Format (.jpg, r/w)
· Portable Network Graphics (.png, r/w)
· Truevision Targa (.tga, r/w)
· Windows Bitmap (.bmp, r/w)
· Zsoft Paintbrush (.pcx, r/w)
· Portable Pixmaps (.ppm, r/w)
· Adobe Photoshop (.psd, r)
· Quake 2 textures (.wal, r)
· SGI truecolor textures (.rgb, r)
· B3D files (.b3d, r, skeleton)
· Microsoft DirectX (.x, r) (binary & text, skeleton)
· Milkshape (.ms3d, r, skeleton)
· Quake 3 models (.md3, r, morph)
· Quake 2 models (.md2, r, morph)
· Irrlicht scenes (.irr, r/w)
· Irrlicht static meshes (.irrmesh, r/w)
· 3D Studio meshes (.3ds, r)
· Alias Wavefront Maya (.obj, r/w)
· Lightwave Objects (.lwo, r)
· COLLADA 1.4 (.xml, .dae, r/w)
· OGRE meshes (.mesh, r)
· My3DTools 3 (.my3D, r)
· Pulsar LMTools (.lmts, r)
· Quake 3 levels (.bsp, r)
· DeleD (.dmf, r)
· FSRad oct (.oct, r)
· Cartography shop 4 (.csm, r)
· STL 3D files (.stl, r/w)
· PLY 3D files (.ply, r/w)
· Material Colors (ambient, diffuse, emissive, specular)
· Line thickness (only OpenGL)
· ZBuffer write/test modes
· Per mesh anti-aliasing settings
· Alpha to Coverage
· Color masking
· Vertex colors with configurable interpretation
· Wireframe/Point cloud rendering
· Gouraud/Flat shading
· Lighting mode configurable
· Backface/Frontface culling
· Fog enabling per mesh
· Automatic normals normalization
· Texture coordinates repeat/clamp modes
· Per texture filtering (bilinear, trilinear, anisotropic)
· Texture LOD Bias
· Texture matrices
· Arbitrary number of multi-textures
· Predefined materials (Solid, Solid with alpha blending 2nd texture, Light maps with configurable pre-multiplication and additional dynamic light support, Detail map, Sphere map, Environment reflection, Transparency by adding the texture, Transparency by using the texture alpha, Transparency by using the texture alpha without blending, Transparency by using the vertex alpha, Normal maps, Parallax maps, Flexible blend mode rendering)
What's New in This Release: [ read full changelog ]
· Fix string::remove which got in an endless loop when remove was called with an empty string
· Correctly release the GLSL shaders
· Make sure we only release an X11 atom when it was actually created
· Fix aabbox collision test, which not only broke the collision test routines, but also frustum culling, octree tests, etc.
· Fix compilation problem under OSX due to wrong glProgramParameteri usage
· Memory leak in OBJ loader fixed
· Removed some default parameters to reduce ambigious situations