NVIDIA HBAO+解析:打造更逼真的环境光遮盖效果

半夏浅析 2022-01-26 09:00:27 3531

想要在物体周围打造出逼真的阴影效果,开发商需要使用一种叫做环境光遮蔽(AO)的特效。与传统阴影效果不同,AO可以导致光线遮挡,从而创造出并非千篇一律的阴影,这样的阴影可以增加场景的深度。最常见的是,游戏会采用屏幕空间环境光遮蔽(SSAO)来渲染AO特效。有许多衍生版本,然而所有这些衍生版本都基于早期的AO技术,因而阴影清晰度和画质不高,所以在与不具备AO特效的场景相比时,图像质量的提升并不大。

在2008年的SIGGRAPH科技大会上,NVIDIA推出了一种升级的SSAO衍生版本,叫做水平基准环境光遮蔽(HBAO)。与之前的SSAO衍生版本不同,HBAO采用了一种基于物理效果的算法,可模仿一个具有深度缓冲采样的整体。换言之,这一升级让HBAO能够生成更高画质的SSAO效果,同时提升清晰度、画质以及AO阴影的可见性。

然而由于性能原因,HBAO一般以半数分辨率渲染,因此使AO像素数减少了四分之三。《战地:叛逆连队2》和《战地3》中的做法就是这样的。不幸的是,以缩减分辨率渲染HBAO不可避免地会导致闪烁现象,闪烁现象在各种情况下都很难掩盖,尽管游戏在这方面进行了尽可能的优化,但是在某些情况下,闪烁依然持续。

为了解决这些问题,NVIDIA的Louis Bavoil完全重新开发并重新修改了SSAO,创造出了HBAO+,它是SSAO渲染领域中的一次重大转变。与HBAO相比,HBAO+使AO特效的细节水平翻了一倍,运行速度提升三倍,还采用了最新的DirectX 11技术。

在《细胞分裂:黑名单》游戏中,只有HBAO+能提供最先进的全新阴影技术

Louis工作之初的首要目标是创造出一种AO技术,这种技术在GeForce GTX 660这样的现代GPU上能够以1920*1200全分辨率渲染得足够快。HBAO在全分辨率下提供了很好的清晰度,但是它对性能的严重影响使其在现代游戏上不大可行,而且在以缩减分辨率使用它时,它与SSAO相比依然会对帧速率产生很大的影响。

Louis的第二个目标是通过利用DirectX 11在2009年问世时所带来的软件进步(尤其是纹理阵列和gather4指令),最大限度提升AO实施的效率。最终,全新的DirectX 11硬件和软件让Louis能够使用快速的交错渲染技术而非缓慢的全屏通道来渲染HBAO+。

Louis的第三个以及最终目标是与HBAO相比之下提升HBAO+的视觉保真度,尤其是在草地、树叶以及其它具有精细细节的场景中提升保真度。正如在《孤岛惊魂3》中所看到的一样,HBAO在这种情况下很难创造出实心阴影区域。

HBAO+有助于打造出有太阳和人造光源照射的逼真场景

Louis的工作成果是一种更加精确的环境光遮蔽技术,厚重的阴影被定义得更好、更精确,更加清晰可见。下面,大家可以看到一项互动对比,对比中展示了一个所有纹理和游戏元素均已删除的场景,只剩下AO阴影,从而可以轻松对比新老技术。

HBAO+环境光遮蔽阴影远比从前更加精确

可以看到,HBAO+各方面都胜过HBAO,后者在上述例子中是以全分辨率进行渲染的。当以半分辨率渲染时,HBAO的画质和精度会进一步降低,特效的画质就更低了。

为了测量AO技术的速度,我们记录了出现一帧AO所花费的运算和渲染时间,从游戏到GPU再到显示器。利用开发工具,在时钟频率锁定为1058MHz的GeForce GTX 680上以1920*1080分辨率运行时,我们在《细胞分裂:黑名单》中记录了固定场景中每个AO选项的速度,如下灰度等级所示。

在《细胞分裂:黑名单》中,与半分辨率SSAO相比,Ubisoft的全分辨率SSAO+技术可以提供更优秀的画质,但是在该过程中会严重影响帧速率,每帧的速度慢3.3毫秒。同时,HBAO方案以全分辨率运行,但是每像素仅有4个遮蔽采样,远比SSAO和SSAO+的16个少得多。换来的结果是性能的提升以及有一堆问题的AO图像。

相比之下,全分辨率NVIDIA HBAO+的速度比位居第二的AO技术SSAO+快了将近一倍。另外,遮蔽采样数也翻了一番以上。结果便造就了一个更快的方案,可提供远比其它技术更丰富、更细腻的图像。

HBAO+是首选的环境光遮蔽选项。其图像质量超越了任何其它技术,它是最高效的全分辨率AO选项,率先运用了节省缓存的交错渲染技术,率先几乎消除了闪烁和采样不足的伪影。最值得称道的是,当以出色的精细度渲染所有绝佳的AO阴影效果时,HBAO+不会对帧速率有明显影响。

转载:英伟达

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
半夏浅析
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区