简单来说:光线追踪就是从视点和像素两点成一条射线,投射光线到场景中,返回光线碰撞到的物体的颜色。

但是,对每个像素只投射一条光线,会造成锯齿现象。

下面介绍几种在像素格内的采样技术,从而投射多条射线进行颜色中和,从而形成抗锯齿的效果。

随机采样

在2D像素格内,随机选取n个采样点。这些采样点在1D投影上的分布状态并不好,随机采样的效果还是略差。如下图所示:

【RayTracing】采样技术

抖动采样

对像素格进行了分层管理的方法,先等分成n*n个子网格。

然后在每个子网格中进行随机采样。采样分布明显好于随机采样。

【RayTracing】采样技术

n-Rooks采样

n-Rooks采样和抖动的区别是,抖动采样在n*n网格中时需要【RayTracing】采样技术个采样点,而n-Rooks只需要n个采样点

要求是各行各列中只存在一个采样点。刚开始是生成一条直线(如下图),然后在保持n-Rooks的状态下,随机混合x.y坐标

1D投影尚可,但是2D分布并不如抖动采样。

【RayTracing】采样技术

多重抖动采样

例如在16*16的网格上,添加4*4的网格,视为子网格。在每个子网格中生成一个采样点,然后在子子网格中遵循n-Rooks。

【RayTracing】采样技术

多重采样效果较好。

Hammersley采样

该类采样是基于计算机数字表示法,不算是随机采样。

对整数i,其基数为2 取根的反函数 如下表:

【RayTracing】采样技术

n个2D采样点的序列可以定义为n个采样点pi的集合

【RayTracing】采样技术

【RayTracing】采样技术

其1D投影为等间隔采样,对于给定的n值,只存在唯一一个Hammersley采样。

当邻接像素采用相同的采样点集时,会产生严重失真。所以该方法不适合单独使用

 

相关文章:

  • 2021-07-13
  • 2022-12-23
  • 2021-09-15
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2021-05-08
猜你喜欢
  • 2022-01-12
  • 2022-12-23
  • 2021-06-13
  • 2021-12-15
  • 2021-12-18
  • 2021-11-27
相关资源
相似解决方案