当前位置: 首页 > 专利查询>山东大学专利>正文

用于MIC架构协处理器的光子映射并行方法技术

技术编号:11604520 阅读:99 留言:0更新日期:2015-06-17 01:58
本发明专利技术公开了一种用于MIC架构协处理器的光子映射并行方法,包括开始光子跟踪阶段,上传场景数据至MIC架构协处理器端;光子光线求交阶段,每一个线程每次处理一条光线进行求交计算,返回光线交点信息;光子图生成阶段,根据光线交点信息执行不同的光子碰撞行为,保存碰撞的光子至光子图,直至追踪完成所有的光子线束,生成完整的光子图;开始渲染阶段,上传光子图,组织若干组渲染点,将每一组的渲染点进行层次聚类;最近邻光子搜索阶段,上传聚类完毕的渲染点,并行计算渲染点类中每个渲染点的最近邻光子,并求每个渲染点的出射辐射度;图像生成阶段,计算渲染点的颜色,并把每一组渲染点的颜色返回屏幕空间形成最终图像。

【技术实现步骤摘要】

本专利技术涉及真实感渲染和高性能领域,具体涉及一种用于MIC架构协处理器的光子映射并行方法
技术介绍
真实感渲染是影视动漫制作领域最核心的技术也是最耗时的阶段,真是感渲染技术的加入可以增加三维动漫作品的真实性,同时也带了时间和内存的消耗。真实感渲染技术的实现依赖的是全局光照算法,很多全局光照算法不断提出,比如基于蒙特卡洛光线跟踪的各种算法、辐射度算法、光子映射算法和基于点的渲染技术。但是全局光照算法耗时是普遍问题,和高性能领域结合,采用SIMD(单指令多数据)并行化和从核加速的思想是目前提高密集计算效率的有效方案。2012年底,Intel公司推出了基于MIC架构(Intel Many Integrated Core架构)的至强融核协处理。这个产品有超过50个核以上的x86架构的核心,用于解决高度并行计算问题,由于MIC的基本指令集与CPU一样使MIC架构从核加速更为灵活。Carsten Benthin等人提出一种使用MIC架构协处理器的并行光线追踪算法,该方法使用offload模式(卸载模式),将光线追踪中光线和场景树求交的运算加载到MIC上并行计算60条光线和场景树求交,并使用四叉树结构利用MIC的516位的向量计算单元一次性计算一条光线和树中的4个兄弟节点的求交结果。光子映射算法是一种扩展光线跟踪的全局光照算法。光子映射算法可以直接渲染焦散和色溢,相对于光线追踪算法,光子映射可以更加便捷地实现全局光照效果。光线追踪算法从摄像机向屏幕空间发射主光线,并在场景空间递归地跟踪光线,在交点处计算光照,阴影和颜色,信息返回屏幕形成最终图像。在光子映射算法中,在计算交点的光照时,改变计算方法,使用预渲染一遍保存的光子图来收集照射信息。光子图是第一次渲染阶段通过从光源处向场景中发射光子并追踪保存得到的光照缓存数据。在渲染阶段,找到距离光线最近的交点,即渲染点最近邻的K(K≥1)个光子,累加光子能量估计光源的照射效果。中国专利(申请号:CN 201010138101,专利名称:一种基于光子映射的全局光照方法)中提出了一种将光子映射和光线追踪结合的方法。为保证精度,需要大量的光子发射和高分辨率,这些会造成光子图过来和渲染点过多,在光子跟踪阶段和渲染阶段都是非常耗时的计算。中国专利(申请号:CN 201410341679,专利名称:一种基于OpenCL的并行化渐进式光子映射方法和装置)中提出了一种并行化渐进式光子映射的方法。基于OpenCL对视点光线跟踪、光子跟踪和场景渲染进行并行化,把工作负载合理设计在对应的处理器上。该方法将任务划分并行化,并没有针对光子映射算法的特征做并行改变。
技术实现思路
针对真实感渲染中光子映射算法计算耗时的问题,本专利技术提供了一种能够处理全局光照且并行加速灵活地用于MIC架构协处理器的光子映射并行方法。为了实现上述目的,本专利技术采用以下技术方案:一种用于MIC架构协处理器的光子映射并行方法,包括以下步骤:步骤(1):开始光子跟踪阶段上传场景数据至MIC架构协处理器端;从光源发射光子,将光子分为多束光子线处理;其中,每束光子线包括若干条光子光线;步骤(2):光子光线求交阶段每一个线程每次处理一条光线进行求交计算,返回光线交点信息;步骤(3):光子图生成阶段根据光线交点信息执行不同的光子碰撞行为,保存碰撞的光子至光子图,直至追踪完成所有的光子线束,生成完整的光子图;步骤(4):开始渲染阶段上传光子图至MIC架构协处理器端,组织若干组渲染点,将每一组的渲染点进行层次聚类;步骤(5):最近邻光子搜索阶段上传聚类完毕的渲染点,每一个线程每次处理一个渲染点类,并行计算渲染点类中每个渲染点的最近邻光子,并求每个渲染点的出射辐射度;步骤(6):图像生成阶段计算渲染点的颜色,并把每一组渲染点的颜色返回屏幕空间形成最终图像。所述步骤(1)中开始光子跟踪阶段,包括:步骤(1.1):将每个线程共享的场景数据上传给MIC端;步骤(1.2):中央处理器CPU端组织光源发射光子,每次绑定一束光子线上传MIC端计算。所述步骤(2)中光子光线求交阶段,包括:步骤(2.1):选择一束光子光线数据上传至MIC架构协处理器端,每一个线程每次处理一条光线,采用动态分配策略为每个线程动态分配处理的光线;步骤(2.2):每条光子光线并行求交。所述光子光线并行求交的具体过程为:求交时组织4叉场景树的当前要计算的一个层次上的4个兄弟节点的位置向量到一个16位向量寄存器中,把16个浮点数宽度的向量计算单元看成四个模块,每个模块存储场景树四个孩子中的一个分支,把光线的位置信息复制4份填充16位向量,一次判断同一层上的4个兄弟节点是否相交。所述步骤(3)中光子图生成阶段,包括如下步骤:步骤(3.1):MIC架构协处理器将计算的光线交点信息传递给CPU;步骤(3.2):CPU根据交点执行不同的光子碰撞行为,重新绑定为一束光子上传MIC端计算,直到达到最大追踪深度;步骤(3.3):CPU处理全部的光子线束,完成在场景中的传递运算,输出一个缓存的光子图文件。所述步骤(4)中开始渲染阶段,包括如下步骤:步骤(4.1):将光子图上传至MIC端的共享内存中,为每个渲染点类在MIC上遍历光子图开辟缓存空间;步骤(4.2):按屏幕空间的划分组织一个grid的渲染点,将渲染点按照的位置和法向的相近关系进行层次聚类。所述步骤(4.2)中描述的层次聚类方法为:先将每个点看作一类,再将相近的两个类两两聚为一类,然后按照相同的预设规则再次聚类,直到每个类达到预设要求。所述步骤(5)中最近邻光子搜索阶段,包括如下步骤:步骤(5.1):将聚类好的渲染点信息上传至MIC架构协处理器端内存,MIC架构协处理器端的一个线程负责一个渲染点类,并行地计算每个渲染点类;步骤(5.2):计算每个渲染点的中心点,按照渲染点类的半径和中心点查找半径的加和来查找这个范围内的最近邻的光子集合;最近邻的光子集合中包含了渲染点类的每个渲染点周围的K个最近邻光子,其中,K≥1;步骤(5.3):遍历最近邻的光子集合,选取渲染点类的每个渲染点的最近邻的K个光子,并求每个渲染点的出射辐射度。所述步骤(5.3)中选取每个渲染点的最近邻的K个光子的具体过程为:首先,每次取一个渲染点类的16个渲染点,并将这16个渲染点的位置法向组织成16位向量表示,每一位代表一个渲染点;再将一个光子的信息复本文档来自技高网
...
用于MIC架构协处理器的光子映射并行方法

【技术保护点】
一种用于MIC架构协处理器的光子映射并行方法,其特征在于,包括以下步骤:步骤(1):开始光子跟踪阶段;上传场景数据至MIC架构协处理器端;从光源发射光子,将光子分为多束光子线处理;其中,每束光子线包括若干条光子光线;步骤(2):光子光线求交阶段;每一个线程每次处理一条光线进行求交计算,返回光线交点信息;步骤(3):光子图生成阶段;根据光线交点信息执行不同的光子碰撞行为,保存碰撞的光子至光子图,直至追踪完成所有的光子线束,生成完整的光子图;步骤(4):开始渲染阶段;上传光子图至MIC架构协处理器端,组织若干组渲染点,将每一组的渲染点进行层次聚类;步骤(5):最近邻光子搜索阶段;上传聚类完毕的渲染点,每一个线程每次处理一个渲染点类,并行计算渲染点类中每个渲染点的最近邻光子,并求每个渲染点的出射辐射度;步骤(6):图像生成阶段;计算渲染点的颜色,并把每一组渲染点的颜色返回屏幕空间形成最终图像。

【技术特征摘要】
1.一种用于MIC架构协处理器的光子映射并行方法,其特征在于,包括以下步骤:
步骤(1):开始光子跟踪阶段;
上传场景数据至MIC架构协处理器端;从光源发射光子,将光子分为多束光子线处理;
其中,每束光子线包括若干条光子光线;
步骤(2):光子光线求交阶段;
每一个线程每次处理一条光线进行求交计算,返回光线交点信息;
步骤(3):光子图生成阶段;
根据光线交点信息执行不同的光子碰撞行为,保存碰撞的光子至光子图,直至追踪完成所
有的光子线束,生成完整的光子图;
步骤(4):开始渲染阶段;
上传光子图至MIC架构协处理器端,组织若干组渲染点,将每一组的渲染点进行层次聚
类;
步骤(5):最近邻光子搜索阶段;
上传聚类完毕的渲染点,每一个线程每次处理一个渲染点类,并行计算渲染点类中每个渲
染点的最近邻光子,并求每个渲染点的出射辐射度;
步骤(6):图像生成阶段;
计算渲染点的颜色,并把每一组渲染点的颜色返回屏幕空间形成最终图像。
2.如权利要求1所述的一种用于MIC架构协处理器的光子映射并行方法,其特征在于,
所述步骤(1)中开始光子跟踪阶段,包括:
步骤(1.1):将每个线程共享的场景数据上传给MIC端;
步骤(1.2):中央处理器CPU端组织光源发射光子,每次绑定一束光子线上传MIC端计
算。
3.如权利要求1所述的一种用于MIC架构协处理器的光子映射并行方法,其特征在于,
所述步骤(2)中光子光线求交阶段,包括:
步骤(2.1):选择一束光子光线数据上传至MIC架构协处理器端,每一个线程每次处理
一条光线,采用动态分配策略为每个线程动态分配处理的光线;
步骤(2.2):每条光子光线并行求交。
4.如权利要求3所述的一种用于MIC架构协处理器的光子映射并行方法,其特征在于,
所述光子光线并行求交的具体过程为:
求交时组织4叉场景树的当前要计算的一个层次上的4个兄弟节点的位置向量到一个16
位向量寄存器中,把16个浮点数宽度的向量计算单元看成四个模块,每个模块存储场景树四
个孩子中的一个分支,把光线的位置信息复制4份填充16位向量,一次判断同一层上的4个
兄弟节点是否相交。
5.如权利要求1所述的一种用于MIC架构协处理器的光子映射并行方法,其特征在于,
所述步骤(3)中光子图生成阶段,包括如下步骤:
步骤(3.1):MIC架构协处理器将计算的光线交点信息传递给CPU;
步骤(3.2):CPU根据交点执行不同的光子碰撞行为,重新绑定为一束光子上传MIC端
计算,直到达到最大追踪深度;
步骤(3.3):CPU处理全部的光子线束,完成在场景中的传递运算,输出一个缓存的光子
图文件。
...

【专利技术属性】
技术研发人员:康春萌王璐王佩徐延宁孟祥旭
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1