革命性DX11架构!GTX480/470权威评测
第三章/第五节 DirectCompute 11新特效:渲染后端处理之高清晰环境光遮蔽
“环境光遮蔽”(Ambient Occlusion,AO)是一种非常复杂的光照技术,通过计算光线在物体上的折射和吸收在受影响位置上渲染出适当的阴影,进一步丰富标准光照渲染器的效果。“屏幕空间环境光遮蔽”(SSAO)就是该技术的一个变种,现已用于《孤岛危机》、《潜行者:晴空》、《火爆狂飙》、《鹰击长空》、《帝国:全面战争》等游戏。
《鹰击长空》支持SSAO和DX10.1
DX10也能实现SSAO特效,《Crysis》就大量使用了该技术,但其它DX10游戏却很少使用SSAO,因为效率太低。NVIDIA在驱动当中提供了强制SSAO的选项,可以让一些老游戏的画质也得到改善,但性能损失确实很大默认情况下是关闭的。
NVIDIA驱动可以让任何游戏都支持SSAO
DX10.1中的出现让SSAO得到了普及,程序员可以用Gather4函数来进行加速渲染,它只能处理单一的颜色分量,但依然适合处理阴影内核和SSAO,因为深度缓冲是一个单颜色分量。而在DX11中,Gather4再次升级,它可针对特定的颜色分别采样,可自动识别能做阴影映射的值,从而实现更快更好的阴影过滤。
《潜行者:晴空》支持SSAO,其资料片则支持HDAO,效果更上一层楼
DX11对于Garher4函数特性的增强使得AO又有了更优秀的版本,称之为High Definition Ambient Occlusion(HDAO),即高清晰环境光遮蔽。HDAO和SSAO都能向下兼容旧硬件,但运行速度会打折扣。换句话说,DX11和DX10.1是在改进算法、优化性能的基础上,使得显卡有能力渲染出更复杂、更完美的特效,而DX10虽然在也能达到同样的画面效果,但速度会很慢,实用性不大。
《BattleForge》noAO、SSAO和HDAO效果对比
在ATI HD5870发布当天,《BattleForge》这款游戏就通过补丁从DX10.1升级至DX11,它只使用了DX11中的一个技术,那就是用DirectCompute 11加速HDAO,通过我们实际测试来看,DX11的确能够让HDAO效率提升20-30%之多。此外DX11大作《异形大战铁血战士》也大量使用了HDAO特效和DirectConpute11技术。
● 本章小结:DirectCompute技术目前主要用于游戏渲染加速
DirectCompute虽然定位于GPU通用计算,但通过DX11发布半年来的实际情况来看,目前还是主要被用于图形渲染加速,并没有真正进入民用非图形计算领域,毕竟它还只是一个附属在DX11之下的指令集/函数库,而并非是一个单独的API。
不过,能够大幅提升图形渲染效率也同样具有革命意义。只有让游戏跑得更快,GPU有富裕的运算能力时,游戏开发者才敢使用更多、更新的特效与技术,从而让游戏的画面变得更好,让游戏玩家真正得以体验,而不是以高高在上的形态让人顶礼膜拜。