Alex Wang 這樣的話只計算當前視角能看得到範圍內的光線就可以了。而从光源到當前視角計算的話不可能一下就知道有那些光線是需要計算的,但从視角反推算來說就簡單一些。
@FlameRat_YehLon6 жыл бұрын
Damon Z 有很多问题用电脑是解不出精确解的,只能够算出一个估值。但是要让电脑算出的估值能够使用有一个条件,就是要能证明所使用的计算方法带来的误差在给定条件下是可以估计的(而且并不是无穷大的误差),当然这只是第一步,第二步就是要保证在电脑的运算能力内误差能小到可以接受的范围。(不过作为游戏渲染所用的算法允许在极端条件下得到完全错误的结果,因为不这么允许的话运算量会暴增。) 对于散射光的计算而言,就是找出一个算法,在只取有限条光线的情况下,算出来的结果理论误差是可控的,然后在电脑的运算能力之内画面显得不会太假。
@FlameRat_YehLon6 жыл бұрын
Alex Wang 上面有一条留言了,这里就大概补充下,从视角运算的话每一条光线都是画面上能直接看到的,所以效率会比从光源计算要好很多,不过带来的问题是没法体现曲面的聚焦效果(所以放大镜放太阳底下在地上照出的光斑用这种方法是渲染不出来的),散射光也肯定没法计算。这一点主要是因为从视角光线的话没法判断这些光线在光源处的密度如何,只知道光是从光源出来的而已。因此现在还有光子辐射追踪,具体细节不太懂,不过应该是通过直接从光源再均匀射出几条光线,来看看画面上哪个像素点累积的光线多些吧。。。但是对运算量的需求会比单纯从视角出发的计算高很多,显卡能不能承受就难说了