敲响次世代的丧钟 战地3游戏引擎解析

中关村在线 作者:ZOL 编辑:王旭 10-12

  ● 一切只因有光

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


敲响次世代的丧钟 战地3游戏及引擎解析
寒霜2引擎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过程

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

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

  由于寒霜2引擎是以PC平台以及DirectX 11为出发点制作的,它在PC平台以及不同家用机平台上的执行方式和特点也有极大的不同,这些不同几乎完全集中在该引擎强大的光照系统中,甚至可以说完全是由Deferred Shading决定的。接下来,就让我们看看不同平台执行寒霜2引擎的不同特点吧。

三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博

图片新闻
ZOL产品报价:手机报价 笔记本报价 数码相机报价 服务器报价 MP3报价 MP4报价 投影机报价 数码摄像机报价 硬盘报价 内存报价
ZOL笔记本报价: 戴尔笔记本 联想笔记本 惠普笔记本 ThinkPad笔记本 神舟笔记本 索尼笔记本 华硕笔记本 三星笔记本 东芝笔记本 苹果笔记本
ZOL手机报价:诺基亚手机 MOTO手机 三星手机 索爱手机 多普达手机 联想手机 CECT手机 IPHONE手机 魅族手机 天语手机 LG手机
ZOL数码相机报价:佳能数码相机 索尼数码相机 三星数码相机 尼康数码相机 松下数码相机 理光数码相机 奥林巴斯数码相机 柯达数码相机