愿望列表
这里列出了一些希望以后能加入KlayGE的功能。
愿望列表可以用来激励未来的工作。其中有些是很明确的做法,有些只是飘渺的想法,大部分则介于两者之间。同样,实现这些条目的工作量从对现有接口的小修改到大的研究项目都有。
Contents
愿望列表
矢量纹理
直接在texel上存储矢量参数,字体系统也可以建立在其之上。
软件渲染插件
类似于D3D10的软件渲染插件,用纯软件支持D3D10+的所有功能。
基于HTML5的UI
集成HTML5渲染器,可以直接用HTML5来作为UI的表达方式。
去除DirectShow
不使用DirectShow来播放视频和音频。备选方案之一是用.ogm作为容器格式,Theora作为视频编码,Vorbis作为音频编码,同时也支持字幕。
GPU上进行物理和数学计算
提出人:吴野
GPGPU的物理模拟和线性代数计算。
强大的内存管理器
支持跨越DLL边界的内存分配/清除、泄露检测和内存池。最好能Lock-free或Wait-free。
GPU音频处理
通过GPU处理音频(3D、特效),然后传给声卡播放。
Command buffer的记录和重放
把所有的DX/OGL API调用都在一个线程里捕捉,并可以在其它线程里重放。
实时Catmull-Clark细分
提出人:周波
实现Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches的GPU细分算法
正在做的
基于GPU的细分
在D3D11/D3D10(ATI)上支持硬件的细分,在D3D9/OpenGL上支持基于shader的细分。(D3D11的细分已经支持了)
实时全局光照
提出人:吴野
实时计算全局光照。支持阴影、折射、反射、半透明和多次散射。(阴影、单次散射已经完成,折射、反射和半透明分别在不同的框架中完成)
已经完成
延迟着色
延迟着色的渲染系统,支持抗锯齿和透明。(作为KlayGE 3.8.0的一个例子)
深度剥离
屏幕空间环境遮挡
用SSAO来增加暗处的细节。(作为KlayGE 3.8.0的一个例子)
移动平台支持
OpenGL ES 2.0插件和D3D mobile插件。
地形渲染
大规模地形渲染。