第四部分,也是ppt中的第三部分,integration,也就是把计算好的光照等和场景集成起来。

这里是一个integration完整的示意图,我们接下来可以一步步看看。

sky scattering

sky scattering算法上是Precomputed Atmospheric Scattering,三个特点:

  • 考虑了earth shadow
  • 分帧实时更新的
  • 存放在32x16x32的LUT中


(用于sample sky scatter的深度信息)

在sample sky scattering信息的时候,就不是raymarch每一步都踩了,否则虽然更加正确,但是太费了。
最终按照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技术
  • 远处是raymarch based的技术

个人的阅读总结:出了第一篇的high点之外,有几点印象非常深刻

  • 对大量的渲染技术运用的如此纯熟灵活,非常给力
  • 能够hold住如此复杂的系统,非常给力

研发的本原的样子

一系列的笔记,可能是解读技术文章以来最多的一次了,笔记部分基本上是大家看了原文之后大致能记住的部分,实际上原文涵盖的内容要更多更杂,然后这背后还有更多的探索和尝试,因为篇幅的原因没有写出来。
读的时候完全没法像一些论文,尤其是少项目而重理论和demo向的,可以简单的做抽象和总结,可以“一句话说清楚”。
实际像《荒野大镖客2》这样的项目,这个就是研发中所面临的问题,理论惨杂着妥协与变通(hack),并且要覆盖极高的复杂度。
实际做的时候,宏观的视野?是的;扎实的理论?是的;扎实的engineering?是的;充分的耐心?是的;灵活的变通?是的;

像我个人之前做《天涯明月刀》《无限法则》相关的技术分享,ppt写的时候往往写的“重点突出”,“易听易懂”甚至还带着两个笑话;
而实际上,做项目开发中,就是一个复杂度高的多,繁杂的多的过程,但是那么来写ppt,往往观众会听得云里雾里,所以最终的结果还是“一句话说清楚”。
《荒野大镖客2》,分享者也足够耐心,列了方方面面,包括raymarching中优化的几个失败案例,确实更像研发原本的样子。

[siggraph19]《荒野大镖客2》的大气云雾技术(4/4)相关推荐

  1. [siggraph19]《荒野大镖客2》的大气云雾技术(1/4)

    技术一直行业领先,但是一直低调的rockstar,终于在siggraph19放了大,做了<荒野大镖客2>(大表哥2,Red Dead: Redemption II)中的大气云雾技术分享. ...

  2. 《荒野大镖客2》的大气云雾技术

    技术一直行业领先,但是一直低调的Rockstar,终于在SIGGRAPH 2019放了大,做了<荒野大镖客2>(大表哥2,Red Dead: Redemption II)中的大气云雾技术分 ...

  3. [siggraph19]《荒野大镖客2》的大气云雾技术(3/4)

    froxel froxel也是技术创造的名词:这个的缩写frustum voxel: 也是用voxel的形式,存储低精度的场景volume信息,然后用于低频信息渲染,比如scattering: < ...

  4. [siggraph19]《荒野大镖客2》的大气云雾技术(2/4)

    接下来我们看第二部分,这部分主要谈渲染部分,包括scattering 和lighting的render,相对内容也多一些. 可以说这部分是本片重点所在. voxel+raymarching 处理大气效 ...

  5. ue4sky时间_UE4: Sky Atmosphere 天空大气

    概述: 在4.24版本之后加入的Sky Atmosphere 简单来说定义的是大气层的颜色,是光如何穿过大气进行散射的物理过程.它是一种基于真实物理的计算,地球是蓝色的,火星是黄褐色的,月球是灰暗的( ...

  6. 为智慧城市应用提供移动云计算安全通信的高效匿名互认证技术

    An efficient anonymous mutual authentication technique for providing secure communication in mobile ...

  7. 为何NFC移动支付技术未火就已走向衰败

    NFC是一种新型的技术,不管是否会进入大众的生活,可能会有其他更好的方案来代替它.但我们可以想象一下,在今后你的手机内置某种技术之后,你只需要手机就可以完成移动支付.出行票务.上班打卡.楼宇门禁.设备 ...

  8. Siggraph2019 RealTimeRender“观影推荐”

    siggraph的分量自不多说,每年paper一放出来,心情仿佛是<星际穿越>上映一样,何况siggraph年年有呢! links: http://advances.realtimeren ...

  9. software reporter tool占用高_广安市园林车载高射程雾炮机厂家供货

    广安市园林车载高射程雾炮机厂家供货 特点: 1.功力强.射程远.覆盖范围广,可以实现精量喷雾,工作效率高,喷雾速度快. 2.对容易引起尘埃的堆场喷水除尘时,喷出的雾力细小,与飘起的尘埃接触时,形成一种 ...

最新文章

  1. QT中树控件QTreeView开发实例
  2. JAVA基本数据类型和引用数据类型的参数传递详解
  3. ubuntu服务器修改保存文件,Ubuntu Server 如何永久保存iptables的设置?
  4. WebSSH神器sshwifty的安装与使用
  5. 进不去系统rpc服务器不可用,rpc服务器不可用_详细解决方法,彻底修复
  6. python k线斜率计算_关于数据拟合:找到斜率变化点作为自由参数 – Python
  7. 1-3(中文版)语法和词性总结
  8. 快速破解IDEA(2017)
  9. worldpress小工具自定义html,WorldPress Grid html代码设置浅析,代码非常简洁
  10. python 三次根号_开3次方根(多次方根)的代码:二分法,python
  11. vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5
  12. 基于jsp的bbs论坛-(7)jsp网页的实现
  13. 微信小程序实现获取当前系统时间
  14. 使用Stream distinct()去重失效问题
  15. 两段文章清楚弄明白什么是异步IO、同步IO、同步阻塞IO、同步非阻塞IO、异步阻塞IO、异步非阻塞IO
  16. 【Python量化策略】SMA双均线策略
  17. [统计学笔记] 统计学计算题选讲(精华)
  18. Socket中send()函数和recv()函数详解
  19. javascript笔记知识(可能有错误、欢迎指正)
  20. 模拟语音加密的置乱技术简介

热门文章

  1. Github使用(3)-Git的其他用法
  2. 蚂蚁金服ATEC人工智能大赛
  3. 橙仕X2厢式货车开始上市
  4. DW01A单节可充电锂电池的过充电和过放电保护电路IC
  5. 某通信公司的Android面试题目
  6. 变换Transformation(2)(笔记)
  7. 【转】计算机类学术论文 28个常见出版社一般写法(参考文献用)
  8. 高考全国卷一计算机应用考题,高考改革新动态!编程题竟然出现在高考全国卷...
  9. 一面A4纸打印多页pdf的方法
  10. uniapp实现表情包发送