KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to arm your engine with cutting-edge technology. It provides a framework to make game development, testing, porting as simple as possible.
- Deferred rendering-based
- Support Direct3D 11-12, OpenGL 2.0-4.5 and OpenGL ES 2.0-3.2.
- Use FXML as the effect script for any renderable object. It can be exported directly from artist created content.
- Python script can be dynamic interpreted at run-time. So scripts don’t need to be recompiled after modification.
- Build terrains by height map technology.
- Support skinned animation.
- Hardware occlusion culling.
- Particle system.
- Post processing technology.
- Self-adaptive hardware states cache and deferred update mechanism.
- Support per-pixel lighting and rendering.
- Distance-based font system, takes advantages from both vector fonts and bitmap fonts.
- Support procedural texture.
- Support Sub surface scattering, which can be used to render translucency materials such as leaf, skin, jade-ware.
- Support Phong tessellation to smooth low polygon mesh at run-time.
- A material system for deferred rendering
- A shader library includes common operations
- A complete interface abstracted from many low level graphics API
- Multi-pass rendering.
- Fully support of programmable shading
- Multiple input vertex streams is supported
- Dynamic lighting
- Omni-directional shadow mapping
- Realtime indirect lighting
- Environment lighting
- Area lighting
- Audio output on many platforms.
- 3D audio source and Doppler effect.
- Ogg Vorbis as input format.
- Streaming playing
- Normal map generator, converts height map to normal map.
- Distance map generator, generates distance map from height map or 3D volume.
- MeshML export plug in, export models from 3DS Max.
- OpenGL compatibility checking tool.
- HDR compressor, compresses both cubemap and 2D HDR textures.
- Normal map compressor, provides 2:1 or 4:1 compression ratio.
- Distance-based font generator, converts a vector font to the format that engine uses.
- FXML2Shader tool, converts a FXML effect script to HLSL shader.
- Color Grading texture generator.
- KlayGE is open sourced. Includes all the source code of engine and tools.
- An extendable, object-oriented engine written in C++. This architecture can loading commands and resources both statically and dynamically. Easy for porting and debugging.
- Takes Python as scripting language. Automatically provides support for dynamic data type. Easy for development and cooperating with C++ host.
- Native code on every platforms.