《荒野大镖客2》的大气云雾技术
up scaling ![]() ![]() up scale这里是4taps dither,depth连续就平均,不连续就取最近 效率 ![]() 长的ray march部分是最消耗的。 ![]() scene integration 第三部分,integration,也就是把计算好的光照等和场景集成起来。 ![]() 这里是一个integration完整的示意图,我们接下来可以一步步看看。 sky scattering sky scattering算法上是Precomputed Atmospheric Scattering,三个特点: 考虑了earth shadow 分帧实时更新的 存放在32x16x32的LUT中 ![]() [ 用于sample sky scatter的深度信息 ] 在sample sky scattering信息的时候,就不是ray march每一步都踩了,否则虽然更加正确,但是太费了。 最终按照depth信息,就依据depth来sample一次。 ![]() [ visibility信息 ] 然后visibility信息(类似shadow)信息都是分离的。 放在一起的效果: ![]() 光照组成 把前面列的放在这里: frustum volume lookup ray march result sky scattering / transmittance sky irradiance probe ![]() 地图里32x32的3rd order spherical harmonics probe map, 每个probe覆盖(256mx256m),这个用作sky irraidance probe。 总结 ppt本身的总结是有这么几条: volumetric效果是“一等公民” 这是一个统一,基于物理,支持多种材质的scattering/transimitance系统 近处是frustum align的volume based技术 远处是ray march based的技术 个人的阅读总结:除了第一篇的high点之外,有几点印象非常深刻 对大量的渲染技术运用的如此纯熟灵活,非常给力 能够hold住如此复杂的系统,非常给力 研发的本原的样子 一系列的笔记,可能是解读技术文章以来最多的一次了,笔记部分基本上是大家看了原文之后大致能记住的部分,实际上原文涵盖的内容要更多更杂,然后这背后还有更多的探索和尝试,因为篇幅的原因没有写出来。 读的时候完全没法像一些论文,尤其是少项目而重理论和demo向的,可以简单的做抽象和总结,可以“一句话说清楚”。 实际像《荒野大镖客2》这样的项目,这个就是研发中所面临的问题,理论掺杂着妥协与变通(hack),并且要覆盖极高的复杂度。 实际做的时候,宏观的视野?是的;扎实的理论?是的;扎实的engineering?是的;充分的耐心?是的;灵活的变通?是的; 像我个人之前做《天涯明月刀》《无限法则》相关的技术分享,ppt写的时候往往写得“重点突出”、“易听易懂”甚至还带着两个笑话; 而实际上,做项目开发中,就是一个复杂度高的多,繁杂的多的过程,但是那么来写ppt,往往观众会听得云里雾里,所以最终的结果还是“一句话说清楚”。 《荒野大镖客2》,分享者也足够耐心,列了方方面面,包括ray marching中优化的几个失败案例,确实更像研发原本的样子。 来源:腾讯游戏学院 (编辑:二游网_173173游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |