计算机图形学 读书笔记(八) 光线跟踪加速Ray Tracing Acceleration

写个读书笔记,一来作为字典以后可以查,二来记录自己的理解。

并没有对每个知识点的详细解释,大部分只有主观的定性的解释。


光线跟踪受到的限制:

1.时间复杂度和空间复杂度都很高。

2.主要时间用在了可见性计算和求交测试。

所以为了加速光线跟踪,对空间的结构有了如下一些优化:

• Hierarchical (层次性) Bounding Volumes (包围盒)
• Uniform Grids (
均匀格点)
• Quadtree/Octree (
四叉树/八叉树)
• K-d tree / BSP tree (
空间二分树)

都是基于一个思路,先测试是否与 父节点相交, 再判断是否与子节点相交。只是划分方式不同。

层次包围盒:


均匀格点: 

每个格点有自己所含的面的索引,所以将相交检测 变为了对格点的遍历。



八叉树:

均匀格点,划分得太均匀肯定有问题,应该物体多的地方就划分细一些,物体少的地方就划分得少一些。所以有了八叉树。


即:如果一个格子里的物体的数量大于了一个阈值,就将其划分为八个子格子。

BSP二分空间树:

八叉树是在需要的时候把格子分为八个子格子,BSP是分为两个格子。


所有的空间划分方法都有与轴平行的需求,因为与轴平行可以简化计算。

其他的光线追踪技术:

Distributed Ray tracing(分布式光线跟踪) :

普通光线追中用单一的光线,分布式光线追踪用多条光线。实现了以下效果:

  • 光照方面Illumination :extended light sources, soft shadows 软阴影
  • Pixel: anti-aliasing;  反走样
  • Lens: depth-of-field; 景深
  • BRDF: glossy-reflection; 模糊镜面反射) 
  • Time: motion-blur 动态模糊

光束跟踪Beam Tracing

如果光束的四个角围成的矩形与物体相交,则在光束内的 光线是与其相交的







猜你喜欢

转载自blog.csdn.net/qq_30795577/article/details/79896521