发明名称 一种基于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号