1. 主页
  2. 文档
  3. 从零开始的计算机图形_程序员的3D渲染介绍教程
  4. 从零开始的计算机图形_程序员的3D渲染介绍 光线追踪扩展
  5. 超采样

超采样

超采样或多或少与次采样相反。在这种情况下,你所追求的是精度而不是性能。假设两个相邻的像素所对应的光线击中了不同的物体。你会给每个像素点涂上相应的颜色。

但请记住让我们开始的那个类比:每条光线都应该决定我们所看的 “网格 “的每个方块的 “代表 “颜色。通过对每个像素使用一条光线,我们武断地决定穿过正方形中间的光线的颜色是代表整个正方形的,但这可能不是真的。

解决这个问题的方法就是在每个像素上追踪更多的光线–4、9、16,你想要多少就有多少–然后将它们平均化,得到像素的颜色。

当然,这使得你的光线追踪器慢了4倍、9倍或16倍,其原因与子采样使它快了N倍完全相同。幸运的是,有一个中间地带。你可以假设物体的属性在其表面上是平滑变化的,所以在每个像素上拍摄四条光线,在非常轻微的不同位置击中同一个物体,可能不会对场景有太大的改善。因此,你可以从每个像素的一条光线开始,比较相邻的光线:如果它们击中了不同的物体,或者颜色的差异超过了某个阈值,你就对这两条光线应用像素细分法。

这篇文章对您有用吗?