假设我的路径跟踪器每像素拍摄64条射线(在8x8网格中)。令人困惑的是,当考虑到全球照明时,我是否应该为最初的64条射线中的每一条拍摄额外的X
随机射线数?这将等于拍摄64 * X *number of bounces
射线(各种类型),这是真的很大。因为我在GPU内存上制作路径追踪器,所以肯定会引起关注。
或者我只是拍摄了一条随机射线间接照度。这将意味着为GI所投出的总次级射线将等于每像素64。
现在这又是为了GI。区域光源呢?对于最初的64条射线,我是否应该明确地对区域光的X射线数进行采样?
我认为这就是库克在他关于分布式射线追踪的论文中提到的。他说
现有的射线不是为每个维度添加更多的射线,而是根据相应参数的值在每个维度中分布。关键是,除了用于过度取样的射线以外,不需要额外的射线。
我很困惑,因为大多数情况下,我都看到了遵循第二种方法的算法和代码片段。为GI投射X射线数。
其次,对于直接照明而言,光路是显式计算的还是从为GI生成的样品中提取的?前者意味着,如果我对每像素64条射线中的每一条光线进行1次GI采样,那么我也将为光程拍摄另一条光线。随机取样的光线,如果指向光源,我会忽略它。
后者意味着,我只采样1射线,如果它不击中光源,这是我的GI,如果它击中光源,我积累它的颜色作为直接照明。
发布于 2018-08-17 11:56:43
每个样本只有一条路径。
如果你第一次击中64次,每秒64次,等等,你就永远得不到图像了。
编辑:这就是为什么你需要采样每个像素这么多次(容易超过1024个样本),以使其收敛,即消除噪音。
根据2) (从下面的注释) 64主射线将不会击中相同的目标在同一地点,所以你将不得不计算每一个样本的一切。
https://computergraphics.stackexchange.com/questions/7933
复制相似问题