转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=163

Overview

KlayGE is a framework for developing the next generation games. It’s an open source game engine with cross-platform plugin-based architecture. It introduces many advanced technologies with unlimited expansibility.

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. KlayGE can cover platforms from the high-end to the low-end at most one year before it’s release.

Graphics

  • Support D3D 11.2, OpenGL 2.1-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 runtime. 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 Subsurface Scattering, which can be used to render translucency materials such as leaf, skin, jade-ware.
  • Support Phong Tessellation to smooth low polygon mesh at runtime
  • Shading
    • A shader library includs 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

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.

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.