KlayGE/en

From KlayGE
< KlayGE
Revision as of 22:21, 25 December 2014 by Gongminmin (Talk | contribs)

Jump to: navigation, search

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.

Features

Graphics

  • Deferred rendering-based
  • Support DirectX 11.2, OpenGL 2.0-4.5 and OpenGL ES 2.0-3.1.
  • 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
  • Shading
  • 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
  • Lighting
  • Dynamic lighting
  • Omni-directional shadow mapping
  • Realtime indirect lighting
  • Environment lighting
  • Area lighting

Audio

  • Audio output on many platforms.
  • 3D audio source and Doppler effect.
  • Ogg Vorbis as input format.
  • Streaming playing

Tools

  • 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 or Cg shader.
  • Color Grading texture generator.
  • Normals Fitting generator.

Programming

  • 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.

External links