The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
Here are some features of the materials and shaders and the supported formats for textures and meshes.
Posted by FPSGamer on Jun 24th, 2009
Materials and Shaders
To be able to create realistic environments quickly, there are lots of common built in materials available in the engine. Some materials are based on the fixed function pipeline (light mapped geometry for example) and some are relying on the programmable pipline (normal mapped/parallax per pixel lighted materials for example) todays 3d hardware is offering. It is possible to mix these types of materials in a scene without problems and when using a material which needs features the hardware is not able to do, the engine provides fall back materials. However, if the built in materials are not enough, it is possible to add new materials to Irrlicht at runtime, without the need of modifying/recompiling the engine. Currently supported shader languages for this are:
Lots of common file formats are supported, and are able to be loaded (and partially also written) directly from within the engine. In this way, data is never needed to be converted for using it with the Irrlicht Engine, saving development time. The list of all supported formats is constantly growing. If you need the Irrlicht Engine to be able to load a file format which it cannot currently handle, simply raise a feature request and ask for it.
Currently supported textures file formats:
Currently supported mesh file formats: