[siggraph19]《荒野大镖客2》的大气云雾技术(4/4)
第四部分,也是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)相关推荐
- [siggraph19]《荒野大镖客2》的大气云雾技术(1/4)
技术一直行业领先,但是一直低调的rockstar,终于在siggraph19放了大,做了<荒野大镖客2>(大表哥2,Red Dead: Redemption II)中的大气云雾技术分享. ...
- 《荒野大镖客2》的大气云雾技术
技术一直行业领先,但是一直低调的Rockstar,终于在SIGGRAPH 2019放了大,做了<荒野大镖客2>(大表哥2,Red Dead: Redemption II)中的大气云雾技术分 ...
- [siggraph19]《荒野大镖客2》的大气云雾技术(3/4)
froxel froxel也是技术创造的名词:这个的缩写frustum voxel: 也是用voxel的形式,存储低精度的场景volume信息,然后用于低频信息渲染,比如scattering: < ...
- [siggraph19]《荒野大镖客2》的大气云雾技术(2/4)
接下来我们看第二部分,这部分主要谈渲染部分,包括scattering 和lighting的render,相对内容也多一些. 可以说这部分是本片重点所在. voxel+raymarching 处理大气效 ...
- ue4sky时间_UE4: Sky Atmosphere 天空大气
概述: 在4.24版本之后加入的Sky Atmosphere 简单来说定义的是大气层的颜色,是光如何穿过大气进行散射的物理过程.它是一种基于真实物理的计算,地球是蓝色的,火星是黄褐色的,月球是灰暗的( ...
- 为智慧城市应用提供移动云计算安全通信的高效匿名互认证技术
An efficient anonymous mutual authentication technique for providing secure communication in mobile ...
- 为何NFC移动支付技术未火就已走向衰败
NFC是一种新型的技术,不管是否会进入大众的生活,可能会有其他更好的方案来代替它.但我们可以想象一下,在今后你的手机内置某种技术之后,你只需要手机就可以完成移动支付.出行票务.上班打卡.楼宇门禁.设备 ...
- Siggraph2019 RealTimeRender“观影推荐”
siggraph的分量自不多说,每年paper一放出来,心情仿佛是<星际穿越>上映一样,何况siggraph年年有呢! links: http://advances.realtimeren ...
- software reporter tool占用高_广安市园林车载高射程雾炮机厂家供货
广安市园林车载高射程雾炮机厂家供货 特点: 1.功力强.射程远.覆盖范围广,可以实现精量喷雾,工作效率高,喷雾速度快. 2.对容易引起尘埃的堆场喷水除尘时,喷出的雾力细小,与飘起的尘埃接触时,形成一种 ...
最新文章
- QT中树控件QTreeView开发实例
- JAVA基本数据类型和引用数据类型的参数传递详解
- ubuntu服务器修改保存文件,Ubuntu Server 如何永久保存iptables的设置?
- WebSSH神器sshwifty的安装与使用
- 进不去系统rpc服务器不可用,rpc服务器不可用_详细解决方法,彻底修复
- python k线斜率计算_关于数据拟合:找到斜率变化点作为自由参数 – Python
- 1-3(中文版)语法和词性总结
- 快速破解IDEA(2017)
- worldpress小工具自定义html,WorldPress Grid html代码设置浅析,代码非常简洁
- python 三次根号_开3次方根(多次方根)的代码:二分法,python
- vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5
- 基于jsp的bbs论坛-(7)jsp网页的实现
- 微信小程序实现获取当前系统时间
- 使用Stream distinct()去重失效问题
- 两段文章清楚弄明白什么是异步IO、同步IO、同步阻塞IO、同步非阻塞IO、异步阻塞IO、异步非阻塞IO
- 【Python量化策略】SMA双均线策略
- [统计学笔记] 统计学计算题选讲(精华)
- Socket中send()函数和recv()函数详解
- javascript笔记知识(可能有错误、欢迎指正)
- 模拟语音加密的置乱技术简介