热点:
    首席编辑
    直面速度激情 镭风显卡群测极品飞车18
      [  中关村在线 原创  ]   作者:
    收藏文章 阅读全文 暂无评论

        ● 光的轮舞

      寒霜2/3的光照引擎并没有采用一般光栅化过程中常见的light pre-pass、mutil-pass或者其他forward rendering手段,它使用的是相对少见的Deferred Shading+Tile-based lighting,亦即延迟渲染体系,整个光照引擎的核心思路集中在大范围场景的正确光照效果表现以及细腻刻画方面。由于Deferred Rendering的比重达到了前所未有的高度,在寒霜2/3中的光源数量达到了令人震惊的程度。

    敲响次世代的丧钟 战地3游戏及引擎解析
    寒霜引擎Deferred Shading细节

      我们知道,在目前的光栅化过程中,“光线”这玩意其实是不存在的。由于某些历史性的原因,程序员们手中的光照模型因为缺乏正确全面的光线关系而变得漏洞百出,只能应付从光源到到物体表面而已,对于其后的光线变化以及由此导致的次生光源问题则束手无策。因此在真正的光线追踪算法到来之前,要解决这个问题唯一的办法就是大幅增加光源的数量,让更多的光线来“冒充”次生光源,以便为我们带来更加真实的视觉效果。

    敲响次世代的丧钟 战地3游戏及引擎解析
    光照系统对特效的表达至关重要

      但是对光源的处理是一件极其消耗系统资源的事情,常见的multi-pass render或者multi-light single pass render在当前硬件环境下所能够执行的光源数极其有限,大量的无效渲染会让GPU提前进入到不堪重负的状态。因此DICE才会放弃常规的forward rendering手段,转而通过引入Deferred Shading来解决光源的问题。

    敲响次世代的丧钟 战地3游戏及引擎解析
    寒霜2引擎开始采用的结合Tile-Based技术的Deferred Shading

      Deferred Shading通过延迟处理的思路,将光照操作的步骤从传统的Pixel Shader前段直接转移到整个流水线后端的MRT(多目标渲染)里。这直接导致了像素可以在完成其他一切操作步骤并实现Z Occlusion Culling之后再集合在一起统一进行关于光照的运算和操作,从而避免了大量的无效光照计算。由于光照的最终表达需要借由像素来进行,需要进行光照操作的像素的大量减少能节约出很多可用资源,因此可以等效的被折合成可操作光源数的增加,场景的复杂度越高,Deferred shading所能够带来的效率提升也就越明显。

    敲响次世代的丧钟 战地3游戏及引擎解析
    Deferred shading过程

    敲响次世代的丧钟 战地3游戏及引擎解析
    使用Deferred shading的killzone系列游戏

      在寒霜2/3引擎中,Deferred shading透过延迟操作可以完成几乎全部涉及光照的处理过程,比如全局亮度调节,高动态范围(HDR)调节,光照探针,复杂多光源漫散射,甚至可以被用来处理半透明(Translucency)等极为复杂光线关系。Deferred Shading的介入让寒霜2/3引擎能够处理的光源数量显著增长,足以轻松的应付诸如颗粒光照(Particle lighting)之类过去很难实现的应用。

    vga.zol.com.cn true //vga.zol.com.cn/421/4210116.html report 2071     ● 光的轮舞   寒霜2/3的光照引擎并没有采用一般光栅化过程中常见的light pre-pass、mutil-pass或者其他forward rendering手段,它使用的是相对少见的Deferred Shading+Tile-based lighting,亦即延迟渲染体系,整个光照引擎的核心思路集中在大...
    提示:支持键盘“← →”键翻页阅读全文
    本文导航
    不喜欢(0) 点个赞(0)

    推荐经销商

    投诉欺诈商家: 010-83417888-9185
    • 北京
    • 上海

    显卡文章推荐