张大妈

Volumetric Fog of The Last of Us Part II

源自知乎:电话微波炉

01-25 14:10

《最后生还者 第二部》的电影级画面令人惊叹,其逼真的体积雾效果功不可没。这篇内容深入剖析了其背后的渲染技术,揭秘了如何通过创新的算法与优化策略,高效实现动态、真实的雾气效果,并解决海量计算下的性能瓶颈与鬼影难题,为理解顶尖游戏图形技术提供了宝贵视角。

Volumetric Fog of The Last of Us Part II智能速览

  • 所有计算均在单个着色器中完成,避免了多通道或额外数据结构。

  • 算法分为标量粗剔除与矢量并行处理两个阶段,以高效生成候选探针列表。

  • 采用8x8像素块为单位的处理单元,并利用预积分查找表加速光照计算。

  • 为解决TAA鬼影问题,采用混合策略仅对阴影信息进行时间性累积。

  • 面对百万级体素,采用组合式优化策略而非单一方案来应对性能挑战。

Volumetric Fog of The Last of Us Part II精华内容

《最后生还者 第二部》的体积雾效果不仅是视觉奇观,其背后更是一套精密的工程实践。它通过整合计算、分阶段处理和创新的时间性策略,在有限的硬件资源上实现了电影级的画质。

整合式计算架构

为了高效渲染体积雾,整个系统的核心计算被整合到了单个着色器中,避免了使用独立的计算通道或哈希网格等额外的复杂数据结构。这种设计极大地简化了渲染管线,减少了数据在不同阶段之间的传输开销,是实现高性能渲染的基础。

此架构的核心目标是为屏幕空间上的体元高效地找到相交的环境探针列表,确保了计算的集中性和高效性。

高效体素光照

系统将屏幕空间划分为8x8像素的块进行处理,每个块被称为一个Fruxel(Frustum-pixel/voxel)。对于穿过Fruxel的每条视线,系统需要计算其与光源的相交信息。

为了加速这一过程,系统采用预积分技术。通过预先计算光源对特定几何形状的贡献并存入查找表(LUT),在运行时能快速查询并累积光照,显著提升了计算效率,实现了动态的体积光照效果。

时间累积抗鬼影

在应用时间性抗锯齿(TAA)时,直接对最终光照结果进行累积会产生鬼影问题。为此,该技术采用了一种混合策略,其核心思想是仅对阴影信息进行时间性累积,而不是对最终的颜色。

系统会智能识别出“确定无疑”在阴影中的区域,并阻止向这些区域写入新的光照颜色,从而在保留TAA优势的同时,有效消除了动态阴影产生的鬼影伪影。

百万级体素优化

当场景中的体素数量超过一百万时,渲染性能会受到严峻挑战。对此,系统采用了一套组合式的优化策略,而非依赖单一方案。

一个关键环节是在进行时间滤波时,对上一帧的历史数据进行可见性分类。根据分类结果,系统会采取不同的采样策略,确保采样的历史数据有效且未被遮挡,从而在保证画面质量的前提下,维持了渲染的流畅性。

通过对《最后生还者 第二部》体积雾技术的拆解,我们得以一窥顶级3A游戏在图形渲染领域的前沿探索。这些技术不仅塑造了令人沉浸的虚拟世界,也为未来的游戏画质发展指明了方向。未来,这些技术将如何被更广泛地应用,甚至实现在更多主流设备上?这值得期待。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章
相关兴趣推荐