Wishlist
This is a list of suggested additions for the further versions of KlayGE.
This list is intended as a stimulus to further work. Some of the items on this list already have one or more concrete proposals associated with them, others are vague hopes, and most are somewhere in between. Similarly, the scope of these items extend from minor changes in an existing interface to major research projects.
Contents
The wish list
Vector texture mapping
Support texture stores vectors in texels. A font engine can be built on top of it.
Software rendering plugin
D3D10-like software rendering plugin. Support all parts in D3D10+ with pure software.
UI editor
WYSIWYG UI editor. UI layout can be exported as xml file.
Terrain rendering
Large scale terrain rendering.
Get rid of DirectShow
Replay video/audio without DirectShow. One option is take .ogm as container format, Theora as video codec, and Vorbis as audio codec. Subtitle is also supported.
Physics & math on GPU
Requester: Ye Wu
Physics simulation, basic linear algebra with GPGPU.
Realtime global illumination
Requester: Ye Wu
Global illumination in realtime. Shadow, refraction, reflection, translucency and bounces are supported.
Powerful memory manager
Support memory allocation/deallocation cross DLL boundaries, leak detection, and pool. Better to be Lock-free or wait-free.
GPU audio process
Process audio (3D, effect) by GPU and send raw data to audio card.
Command buffer recording and replaying
Capture all DX/OGL API calls in a thread and replay the buffer in other threads.
On going
GPU based tessellator
Support hardware tessellation on D3D11/D3D10 (ATI), shader based tessellation on D3D9/OpenGL. (D3D11 tessellator is supported)
Mobile support
OpenGL ES 2.0 plugin and D3D mobile plugin. (OpenGL ES 2.0 plugin is done)
Accomplished
Deferred shading
Deferred shading based rendering with anti-alias and transparency. (showed as a sample in 3.8.0)
Depth peeling
Order-independent transparency. (showed as a sample in 3.7.0)
Screen space ambient occlusion
Use SSAO to add details in dard places. (showed as a sample in 3.8.0)