Difference between revisions of "KlayGE/en"
From KlayGE
< KlayGE
Gongminmin (Talk | contribs) m (→Graphics) |
Gongminmin (Talk | contribs) |
||
(9 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | '''[[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. | + | '''[[KlayGE]]''' is a [[Platforms|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, [[Regression testing | testing]], porting as simple as possible. |
== Features == | == Features == | ||
=== Graphics === | === Graphics === | ||
* [[Deferred rendering]]-based | * [[Deferred rendering]]-based | ||
− | * Support | + | * Support Direct3D 11-12, OpenGL 2.0-4.5 and OpenGL ES 2.0-3.2. |
− | * Use [[ | + | * 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. | * 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. | * Build [[terrains]] by height map technology. | ||
Line 11: | Line 11: | ||
* Hardware occlusion culling. | * Hardware occlusion culling. | ||
* [[Particle system]]. | * [[Particle system]]. | ||
− | * [[Post processing]] technology. | + | * [[Post process|Post processing]] technology. |
* Self-adaptive hardware states cache and deferred update mechanism. | * Self-adaptive hardware states cache and deferred update mechanism. | ||
* Support per-pixel lighting and rendering. | * Support per-pixel lighting and rendering. | ||
Line 29: | Line 29: | ||
:* Omni-directional shadow mapping | :* Omni-directional shadow mapping | ||
:* Realtime indirect lighting | :* Realtime indirect lighting | ||
+ | :* Environment lighting | ||
+ | :* Area lighting | ||
=== Audio === | === Audio === | ||
Line 44: | Line 46: | ||
* Normal map compressor, provides 2:1 or 4:1 compression ratio. | * 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. | * Distance-based font generator, converts a vector font to the format that engine uses. | ||
− | * FXML2Shader tool, converts a FXML effect script to HLSL | + | * FXML2Shader tool, converts a [[FXML]] effect script to HLSL shader. |
* Color Grading texture generator. | * Color Grading texture generator. | ||
− | |||
=== Programming === | === Programming === | ||
Line 52: | Line 53: | ||
* An extendable, object-oriented engine written in C++. This architecture can loading commands and resources both statically and dynamically. Easy for porting and debugging. | * 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. | * 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. | ||
== External links == | == External links == |
Latest revision as of 01:02, 25 December 2016
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 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
- 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 shader.
- Color Grading texture 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.
- Native code on every platforms.