基于GPU的实时光线跟踪渲染方法研究与实现毕业论文
2021-03-19 22:09:01
摘 要
所谓的光线跟踪就是利用跟踪射向成像空间中物体的射线来生成物体图像的一种渲染算法,在计算机图形学中应用广泛。这个算法模拟了光线从光源射出,当光线与物体表面相交的时候,由算法进行计算,这种计算符合客观物理规律。计算出图像上每个像素点的颜色值,最终生成图像。它能够模拟很多复杂的光学现象,例如折射,阴影,运动模糊,景深等等。相比较于光栅化,光线跟踪能够使得渲染效果更加逼真,然而相对的,所付出的开销也相应的增加,简单的场景渲染也需要花费大量的时间。随着GPU性能的提升以及可编程流水线的实现,现在已经可以直接使用在着色器上实现复杂的计算。因此本论文提出了一种利用GPU性能在着色器上实现的光线跟踪算法,包括表面求交,有权采样和渐进式渲染。通过GPU的性能利用,在简单场景中实现接近真实的实时渲染。
关键词:GPU;着色器;光线跟踪;实时渲染。
Abstract
The so-called ray tracing is a kind of rendering algorithm that uses the ray of objects in the imaging space to generate the object image, which is widely used in computer graphics. This algorithm simulates the light emitted from the light source, when the light and the surface of the object when the intersection, calculated by the algorithm, this calculation is consistent with the objective physical laws. Calculate the color value of each pixel on the image, and finally generate the image. It can simulate a lot of complex optical phenomena, such as refraction, shadow, motion blur, depth of field and so on. Compared to rasterization, ray tracing can make rendering more realistic, but relative to the cost of the corresponding increase in the simple scene rendering also need to spend a lot of time. With the GPU performance improvement and the realization of programmable pipeline, now can be used directly on the shader to achieve complex calculations. Therefore, this paper presents a light tracking algorithm implemented on the shader using GPU performance, including surface intersection, right sampling and progressive rendering. Through the use of GPU performance, in a simple scene to achieve real real-time rendering.
Key Words: GPU; Shader; ray tracing;real time rendering
目录
摘 要 I
Abstract II
第1章 绪论 1
1.1 基础知识概念 1
1.1.1 计算机图形渲染 1
1.1.2 光线跟踪算法 1
1.1.3 GPU的概念及作用 2
1.2 研究背景及意义 3
1.3 本文主要研究内容 4
1.4 本文结构安排 4
第2章 光线跟踪算法 5
2.1 光源模型 5
2.1.1平行光 5
2.1.2点光源 5
2.1.3聚光灯 5
2.2 光照处理 6
2.2.1环境光: 6
2.2.2漫反射光: 6
2.2.3全反射光: 7
2.3 光照计算 7
2.3.1平行光 7
2.4 本章小结 8
第3章 表面求交 9
3.1 不同场景下的求交 9
3.1.1 与平面相交 9
3.1.2 与球体相交 9
3.2 统一求交 10
3.2.1 二维求交 10
3.2.2 三维求交 10
3.3 本章小结 11
第4章 有权采样与渐进式渲染 12
4.1 有权采样 12
4.1.1蒙特卡洛数值方法 12
4.1.2反射分布 13
4.2 渐进式渲染 13
4.3 本章小结 13
第5章 总结与展望 14
5.1 本文工作总结 14
5.2 下一步工作展望 14
参考文献 15
致谢 17
第1章 绪论
1.1 基础知识概念
1.1.1 计算机图形渲染
计算机图形学(英语:computer graphics,缩写为CG)是计算机科学中的的一个重要的分支领域,是一种研究计算机在硬件和软件的计算下生成图像的计算机科学学科,该学科目前主要关注点在于数字合成图像以及操作视觉处理的图形生成。
CG这个词往往被认为是指三维图形以及真实感视频生成,但实际上也包括了在二维层面上的图形以及视频处理。
随着光线跟踪算法和辐射度算法的提出,计算机图形学更加注重真实感图像生成,利用基于物理原理的模拟算法,便可以达到这样的效果。
目前在计算机图形学中,主要存在着这样的三种渲染技术:
- Z缓冲技术;
- 光线跟踪技术[1];
- 辐射度技术;
这三种技术目前已经拥有了非常多的具体的在各种平台上的实现方式。只不过目前在计算机图形渲染中使用的算法还是基于物理上的一种量化和简化模拟,如果要实现真实的场景模拟,那么对于硬件的要求将非常高,所需的计算量庞大。
所以,目前的算法还是处于追求节约计算量的阶段,若是将来硬件升级,那么对于真实感绘制来说,才算是进入了一个昌盛的时代。
1.1.2 光线跟踪算法
完全模拟现实中的光线模型:照射到物体上的光线,不仅有从光源直接射来的,也有通过其他物体反射或折射来的。
在处理光线时,有两种光照模型出现了,分别是局部灯光模型以及全局光照模型。