发明名称 |
一种基于OpenCL的并行化渐进式光子映射方法和装置 |
摘要 |
本发明公开了一种基于OpenCL的并行化渐进式光子映射方法和装置,应用于虚拟现实技术中的全局光照领域,利用OpenCL实现并行化渐进式光子映射。首先初始化并加载场景模型,初始化OpenCL计算参数,然后基于OpenCL对视点光线跟踪、光子跟踪和场景渲染进行并行化,把工作负载合理设计在对应的处理器上,等待命令队列执行完毕,读取计算结果并传递给CPU,最后利用OpenCL标准库函数释放CPU中存储的数据资源。应用本发明所述的方法和装置,能够显著提高渐进式光子映射算法的效率,与设计在CPU上的计算方法相比,效率提升到4-9倍,具有高度的可移植性,同时渲染效果也得到一定的提升。 |
申请公布号 |
CN104090742A |
申请公布日期 |
2014.10.08 |
申请号 |
CN201410341679.0 |
申请日期 |
2014.07.17 |
申请人 |
北京邮电大学 |
发明人 |
贾庆轩;扎西次仁;李旭龙;孙汉旭;宋荆洲 |
分类号 |
G06F9/38(2006.01)I;G06F9/50(2006.01)I |
主分类号 |
G06F9/38(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种基于OpenCL的并行化渐进式光子映射方法,其特征在于,包括以下几个步骤:步骤1:初始化OpenCL计算参数,包括:工作组的维数和大小信息,创建设备上下文及指令队列,创建场景模型内存对象、视线交点内存对象、光子贴图内存对象以及像素矩阵内存对象,加载视点光线跟踪、光子跟踪和场景渲染文件,声明视点光线跟踪内核函数、光子跟踪内核函数以及场景渲染内核函数;步骤2:基于OpenCL对视点光线跟踪进行并行化;步骤3:基于OpenCL对光子跟踪进行并行化;步骤4:基于OpenCL对场景渲染并行化;步骤5:利用OpenCL标准库函数clReleaseMemObject()来释放GPU中存储的数据资源。 |
地址 |
100876 北京市海淀区西土城路10号 |