文摘
英文文摘
图目录
表目录
第1章 绪论
1.1 课题背景
1.1.1 光线跟踪
1.1.2 加速结构
1.1.3 并行计算
1.2 本章小结
第2章 相关研究工作介绍
2.1 常用的加速结构
2.1.1 网格结构
2.1.2 八叉树结构
2.1.3 层次包围盒结构
2.1.4 二叉空间剖分树结构
2.1.5 混合结构
2.1.6 本节小结
2.2 KD-Tree光线跟踪
2.2.1 传统的KD-Tree构建算法
2.2.2 多核CPU上的KD-Tree构建算法
2.2.3 GPU上的KD-Tree构建算法
2.2.4 GPU上的KD-Tree遍历算法
2.2.5 GPU上的光亮度计算
2.2.6 本节小结
第3章 通用并行算法的设计
3.1 不同的计算设备
3.1.1 CPU与GPU
3.1.2 AMD GPU与NVIDIA GPU
3.1.3 木桶原理的限制和解决的方法
3.2 本章小结
第4章 通用的KD-Tree光线跟踪
4.1 基本思想
4.1.1 算法总揽
4.2 通用的KD-Tree构建算法
4.2.1 GPU分区算法
4.2.2 并行SAH分割平面计算
4.2.3 紧致的数据管理
4.2.4 停止分割的条件
4.2.5 区间性叶结点的存储
4.2.6 数据重组
4.3 通用的KD-Tree遍历算法
4.4 通用的基于KD-Tree的光线跟踪
4.5 本章小结
第5章 基于OpenCL的通用KD-Tree光线跟踪
5.1 使用OpenCL
5.2 设备的选取
5.3 系统测试
5.4 基于OpenCL的通用的KD-Tree构建
5.4.1 GPU分区算法
5.4.2 并行SAH与VH分割平面计算
5.4.3 紧致的数据管理
5.4.4 GPU函数的控制
5.5 基于OpenCL的通用的KD-Tree遍历
5.6 基于OpenCL的通用的KD-Tree光线跟踪
5.7 Debug时需要注意的问题
5.8 本章小节
第6章 实验结果与统计数据
第7章 总结与未来的工作
参考文献
攻读硕士学位期间主要的研究成果
致谢