! Godles
2020-03-11T17:27:51+00:00
就是光追在很多情况下,常见于地铁,外面艳阳高照,屋里除了阳光直射的部分,还是很黑,明明窗户也不小,这种情况是不是模拟光线反射次数不够导致的?
我记得老黄在宣传的时候是用一秒计算多少条光线来衡量的,比如2080ti好像是10gigaray/s,但有人知道这里的一条光线要模拟反射大概多少次吗?[s:ac:呆]
一条光线模拟多少次反射时边际效益基本没有了呢。
别把现在的实时光追想得太复杂。
Path Tracing是用Russian roulette保证无偏的,根据场景不同也会有所不同。几次到十几次不等。
问题是现在的光追不是full-path-tracing的,只是用光追计算一些特效而已。很多时候反射一次就已经好意思把自己叫GI了,根据情况决定。而且也不用保证无偏,引入Russian roulette反而会增加发散和负载均衡问题。
每个样本路径一般为4次反射(很保守的数字)。
实时光追的问题不是反射次数而是每像素所需样本数量。
主要是光追在大多数场景中渲染方程的求解都需要大量的样本才能得到一个低方差的估计。
简单的计算公式:设分辨率为4K,每一个像素收敛需要1000个样本噪点(离线渲染中一般为几千),每个样本路径为4次反射(参考星战DEMO),帧数为60帧。那么可知2160 * 3840 * 1000 * 4 * 60 = 1.990656E12,也就是说每秒要射出2000G根光线,这只是离线渲染中要做无偏路径追踪的需求。
很明显由于性能原因,在极短的帧生成时间的实时渲染中只能降低每一个像素的样本数量,而采样数目不足会使画面产生噪点,这就到了降噪的问题上了。
所以老黄提出了Denoising算法,可以让极低采样的光追在实时渲染中重建出接近于大量样本采样后得到的收敛后的图像。
[img]https://img.nga.178.com/attachments/mon_202003/20/biQ5-2efsZfT3cSw0-i0.jpg.medium.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202003/20/biQ5-enknZgT3cSw0-i0.jpg.medium.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202003/20/biQ5-hfudZfT3cSw0-i0.jpg.medium.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202003/20/biQ5-6xgwZ10T3cSw0-i0.jpg.medium.jpg[/img]
Denoising算法相关参见[url]https://www.gdcvault.com/play/1024813/[/url]