ubi在地形技术上持续输出,gdc18上面这篇farcry5的地形,也很不错。

===overview===

这里我们可以看下过去几年,ubi在场景渲染上的演化:

  • 15,刺客信条,gpu driven pipeline : 文章审核中,后面放链接
  • 15, farcry4, adaptive virtual texture : https://blog.csdn.net/toughbro/article/details/52108491
  • 17, ghost recon wildlands, pipeline : https://zhuanlan.zhihu.com/p/33887115
    所以到了farcry5,可以说具备了之前产品的所有优点:高效的pipeline,制作出超逼真场景的能力,非常高的渲染效率;
    并且在此基础上,运行效率进一步提升,细节处理更加到位。
    积跬步以至千里!

细节版:图估计太小,各位手动放大了看吧

===gpu driven===
在terrain渲染上,可以说是非常适合gpu pipeline了。

可以看到,基本的渲染工作已经都在gpu上做了,cpu做一个streaming工作,然后就一边叫好去了。
然后gpu搞定这些额外的负担花了多少时间呢?0.1ms,班纳博士对绿巨人的感觉。
具体细节,可以看前面文章的gpu driven,这里不赘述。

===悬崖处理===
adaptive virtual texture在处理z方向投射的地形材质各种猛。
但是在处理xy方向的投射,就不行了,这里farcry5还是回到了传统的tri plane projection,这样三个方向投射,不同情况要blend,就会有48次texture sampling。
然后远距离terrain的tiling比较严重,farcry5要做不同距离不同tiling系数,直接sample数量翻倍:96个。。。
然后就使用了随机混合的技术来处理,最终可以将sampling数量降到12.

这里farcry5的技术,他们命名为”stochastic cliff shading”

随机混合,其实就是使用有噪点的alpha test来替代alpha blend,本质上是一个screen door effect。

这个最大的优势就是避免了alpha blend,每个pixel只需要shading一次,而不是多次来做blend,性能优势非常的好。
其实除了farcry5的地形,多向投射和变参tiling,这项优化还有这些地方可以使用:

  • lod切换,fade进场景的时候
  • cascaded shadow map不同cascade之间过渡
  • 头发,草透明等等(不过质量略低)
    由于farcry5使用的是deferred texturing的方式,还要处理stable和alias的问题,这个在i3d的“hashed alpha testing”被非常好的解决了。
    所以最后得到了质量很好,效率非常高的3向投射的地形。

=cliff geometry=

在检测到是悬崖类地形的时候,会procedural的生成一些geometry,让悬崖看起来更给力了。

===deferred texturing===



farcry5的叫法是“screen space shading”。。。命名非常容易让人误解,这个做法一般叫做deferred texturing
具体就是在屏幕上渲染material id这种信息,然后统一的在screenspace把material data读出来用,可以shading可以填充gbuffer。


具体几个pass:
- 0, shader id渲染depth和shaderid,这样shaderid的事情就解决了

- 1, gbuffer, material data,利用了地形的特点,位置就可以索引sector,进一步在quadtree里可以找到material信息

然后uv的导数问题是deferred texturing的经典问题,这里uv导数正比于position的导数,所以确实各方面非常的巧。

===sum===
farcry5的这个文章,我是非常喜欢的,把大家提的很多的做法,在具体的地形模块上做了非常好的落地,也有了非常好的结果。
尤其是cliff stochastic shading差点这条路就走不通了,刚刚好17年的i3d有文章,有时候运气也是实力的一部分呢。

[gdc18] farcry5地形技术相关推荐

  1. GDC - 《幽灵行动:荒野》地形技术和工具(一)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>:网上也有类似的译文,但没有看见完整翻译的 ...

  2. GDC - 《幽灵行动:荒野》地形技术和工具(六)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>: 原文很长,因此翻译的文档也分为多篇: ...

  3. GDC - 《幽灵行动:荒野》地形技术和工具(七)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>: 原文很长,因此翻译的文档也分为多篇: ...

  4. GDC - 《幽灵行动:荒野》地形技术和工具(五)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>:原文很长,因此翻译的文档也分为多篇:此为 ...

  5. GDC - 《幽灵行动:荒野》地形技术和工具(八)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>: 原文很长,因此翻译的文档也分为多篇:此 ...

  6. GDC - 《幽灵行动:荒野》地形技术和工具(三)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>:原文很长,因此翻译的文档也分为多篇:此为 ...

  7. GDC - 《幽灵行动:荒野》地形技术和工具(四)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>:原文很长,因此翻译的文档也分为多篇:此为 ...

  8. GDC - 《幽灵行动:荒野》地形技术和工具(二)

    文档翻译自GDC 2017的技术演讲文档:<Ghost Recon Wildlands Terrain Technology and tools>:原文很长,因此翻译的文档也分为多篇:此为 ...

  9. GDC翻译:Far Cry 5 的程序化世界生成(第二部分:6-崖壁工具)

    下面来看崖壁工具. 这个工具的目的是在大型地形表面上生成崖壁几何体,它作为地表之上一个具有更多细节的"皮肤". 总览 这部分的演讲内容很大,所以我将给出这部分的总览: 以前的技术 ...

最新文章

  1. Google收购安全分析软件厂商Zynamics
  2. springboot学习笔记(三)
  3. 命令行参数实现10万行小字典程序并输出查找时间
  4. 焊接机器人应用现状及发展趋势
  5. Sql Server之旅——第十二站 对锁的初步认识
  6. C++实现双栈结构(一个顺序表中使用两个栈)
  7. https证书pfx 生成 pem,crt,key
  8. 【转】SharePoint开发中可能用到的各种Context(上下文)
  9. 百万年薪的腾讯员工买得起深圳房子吗?
  10. php-fpm配置文件的优化
  11. dinic算法 java_网络流问题(Dinic算法JAVA实现)
  12. 什么叫wipe,安卓用户如何去wipe?
  13. 经典的机器人入门资料
  14. 外研在线:如何用云技术优化教育服务
  15. Latex中IEEEtran中参考文献中斜体问题
  16. android中禁止输入表情符号,Android EdText编辑框禁止输入表情符号(使用正则表达式)...
  17. 格灵深瞳:人脸识别最新进展以及工业级大规模人脸识别实践探讨 | 公开课笔记...
  18. AutoLayout进阶篇
  19. 基于构件技术的流程银行,再造核心竞争力
  20. RGB颜色转HEX进制与单位换算

热门文章

  1. 高德地图实现区域下钻
  2. vue页面抖动/晃动 (已解决)
  3. 离散余弦变换_原理及应用
  4. 字母或字母+数字组成正则表达式
  5. 开源之夏 2022 | 申请 Jina AI 社区任务,成为业界领先的神经搜索开源项目贡献者
  6. HDU 1248 寒冰王座 (背包)
  7. 欣赏一下,古诗背过有点忘了呢
  8. JavaScript 前端面试题!!!
  9. ckeditor5html编辑,CKEditor5富文本编辑器如何取值
  10. 计算机毕设Python+Vue疫情医疗物资管理系统(程序+LW+部署)