摘要:
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2749上一篇讲了TBDR的实现,本篇继续讲解deferred rendering层的一些重要改进。切换到ESM原先deferred系统用的是VSM,现在切换到开销更小的ESM。具体参见我之前的一篇文章。用ESM之后只需要一个通道,空间占用减少,性能也有所提升。下个版本会进一步改成支持打包到RGBA8的纹理,让不支持浮点纹理的硬件也可以使用ESM。Multi-resolution层KlayGE很早就引入了multi-resolution的概念,用来加速SIL的GI。但原先的MR、SIL和De 阅读全文
摘要:
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2761本系列的上一篇讲了DR中的一些改进。本篇开始将描述这个版本加入的新功能,高质量地形。原有的地形以前的地形实现和水面的方法一样,都是从Crytek在2008年的老方法改进而来。虽然比projected grid的好得多,并且速度很快,但有一些很明显的缺点:视点移动的时候会抖动。水面比较平,而且有波浪看不出抖动。如果用来做静态地形抖动就会非常明显。尤其是far plane变大之后,远处更明显,所以限制在3000以下。不支持shadow。因为只有产生了视野内的三角形,视野外的地形无法正确投 阅读全文
摘要:
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2736KlayGE从4.0开始引入deferred rendering层(DR),并且这几个版本都在持续地改进,以提高性能和降低使用难度。在即将发布的4.4里,deferred rendering更是往前跨了一大步,实现了一个初步的Tile-based Deferred Rendering(TBDR)。和常见的TBDR不同之处在于,这里的方法只需要SM3。(其实SM2也没问题,只是如果光源较多,会遇到指令长度限制)Tile-based在传统的deferred rendering中,每个光源 阅读全文