网站建设公司有哪些方面,创意设计网,淮安做网站杨凯,站优化转载请注明出处为KlayGE游戏引擎上一篇分析了KlayGE中实现实时全动态GI的方法#xff0c;本篇是这个系列的完结篇#xff0c;主要讲流水线的最后一段#xff1a;Post process。 Post process 在KlayGE 4.0的Deferred Rendering中#xff0c;post process主要有HDR、AA和col…转载请注明出处为KlayGE游戏引擎 上一篇分析了KlayGE中实现实时全动态GI的方法本篇是这个系列的完结篇主要讲流水线的最后一段Post process。 Post process 在KlayGE 4.0的Deferred Rendering中post process主要有HDR、AA和color grading。下面将分别讲述它们的改进。 HDR 在KlayGE 3.12用了filmic tonemapping之后HDR部分就几乎没有别的改变。这里唯一的变化是最终输出的float4把亮度存在A通道上。这是为了后面FXAA的需要。 AA 在Deferred框架中无法使用硬件AA曾经是个恼人的问题。随着这些年各种基于post process的AA方法大量出现Deferred下AA的问题基本被解决了。 团队成员陈顺斌和郭鹏曾为KlayGE 3.12提供了FXAA。 在新版本中FXAA也升级到了最新的3.11版。从FXAA 3开始就要求输入纹理是LDR的RGBL格式L为亮度所以计算AA的地点也就从HDR之前改到了HDR之后。虽然FXAA 3.11可以用G通道代替L但效果肯定会受影响。既然让HDR post process输出RGBL轻而易举我就没有把L改成G。FXAA极快目前的实现在GTX480上可以达到0.1ms的惊人速度。几乎做到了无性能损 失的高质量AA。 Color grading Color grading是这个版本新增的。以前游戏一般不太重视color grading的作用但在电影业color grading是流水线非常重要的一步可以和skinning相提并论的。这里我实现的color grading是用16x16x16的3D texture作为查找表用原RGB作为地址去查询查询出的结果即为调色后的颜色来自GPU Gems 2: Chapter 24. Using Lookup Tables to Accelerate Color Transformations。除了runtime的post process之外还需要一个离线工具用来生成那个3D texture。这里我用的方法类似CE3先生成一个摊平的256×16的2D texture 在photoshop里打开一张游戏截图调整RGB曲线至需要的色调然后把那个RGB曲线应用到之前生成的2D texture最终打包成3D texture就得到了我们所需要的查找表。以后可能会根据需要做一个在线调整color grading的工具。 总结 本系列文章把KlayGE 4.0中Deferred Rendering的改进逐一介绍了一下希望能对也在做类似事情的朋友有所帮助。在总结里我也身边展望一下未来看看在KlayGE 4.1中Deferred Rendering部分还会可能出现什么改进。 更高的速度。Multiresolution的方法在GI中获得了成功也许也可以扩展到direct lighting和SSVO中用于加速整个Deferred Rendering。改进HDR中的bloom filter。学习3DMark11用FFT的方式在一个pass内完成bloom、lens flare等特效。支持移动平台。精简的Deferred Rendering流水线将会以至到移动平台上。更多例子用Deferred Rendering实现。目前只有3个例子用到了deferred框架其他还是forward的。以后会有越来越多的例子转到deferred中。对于KlayGE 4.x还有什么期待可以上trac交流。转载于:https://www.cnblogs.com/gongminmin/archive/2011/12/02/2271827.html