论文部分内容阅读
光线追踪是一种绘制真实感图形的方法,目前已经广泛应用到游戏、电影、动画等领域。由于光线追踪基本原理是通过投射射线并与空间中物体碰撞检测后产生图形,所以其计算复杂度相当高。对它的改进主要是通过建立加速结构从而减少每条射线碰撞检测计算的次数,但由于获得速度提升的同时,算法必须维护这些结构,这对整个渲染软件来说也是一个额外的开销。因此,如果能实现一种既能够有效减少碰撞检测复杂度并且不长期占用额外内存的分而治之光线追踪方法就显得尤为必要。本文基于分而治之光线追踪软件设计和加速结构算法两方面展开了研究,主要包含以下内容:1.介绍和研究基本光线追踪基础理论,主要包括抗锯齿技术、采样技术、光照技术。2.基于上述理论,提出并实现一个可通用的基本光线追踪软件框架,主要内容包括了光线碰撞物体成像的基本光线追踪过程,抽象了抗锯齿、采样、光照和加速结构技术,具有良好的通用性和扩展性。该软件框架实现的过程中并没有使用第三方库,全部用C++语言实现。这也是论文接下来算法研究内容的基础工作。3.根据上述实现的基本光线追踪软件,详细介绍了Kd-tree和Grids结构的构造和遍历,在基本光线追踪框架的基础上实现了Kd-tree、Grids的光线追踪加速算法,并通过实验证明了加速算法的有效性。4.本文的创新点是研究并实现基于Kd-tree的分而治之光线追踪算法,并且引入BVH思想于该方法。分而治之光线追踪实现工作基于前述的简单光线追踪框架,最终本文研究成果完成了分而治之光线追踪渲染软件。该方法不占用额外内存,并且在构造加速结构同时进行射线图元的求交运算。结合以上分析,论文实现了基于Kd-tree和BVH的分而治之光线追踪方法。实验结果表明基于分而治之思想的光线追踪方法具有良好的性能,静态、动态场景渲染速度都有较大的提升。更进一步的,实验结果对比表明所实现的BVH分而治之光线追踪算法较Kd-tree分而治之光线追踪算法具有更好的加速效果。