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

在Intel MIC硬件架构下的基于点的全局光照场景渲染方法技术

技术编号:14339297 阅读:249 留言:0更新日期:2017-01-04 11:57
本发明专利技术公开了一种在Intel MIC硬件架构下的基于点的全局光照场景渲染方法,包括步骤一、计算场景的直接光照,并根据光照信息生成点云,进而构建一棵点云树;步骤二、沿摄像机方向,向场景发射光线,求出场景与场景的交点即着色点并进行存储;步骤三、将着色点以及点云树信息存储至Intel MIC众核架构内,采用Single模式向量化遍历点云树,求出对当前着色点着色有影响的树节点即贡献树节点,根据立体角大小以及与当前着色点的距离将贡献树节点进行分类;步骤四、利用分类后的贡献树节点求出着色点的间接光照,最后同直接光照一起求出着色点的颜色;步骤五、重复步骤三~步骤四,直至所有的着色点处理完毕,生成最终渲染图像。本发明专利技术能够节约成本提高效率。

【技术实现步骤摘要】

本专利技术涉及图形学真实感渲染领域,具体涉及一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法。
技术介绍
Point-BasedGlobalIllumination(PBGI)是一种在影视动漫产业中被广泛应用的全局光照算法。虽然PBGI是一种加速的全局光照算法,耗时依然很多。计算全局光照需要大量计算,首先需要将场景的直接光照离散成一个个的点,这样一个场景的直接光照就会有上千万的点,称之为点云,并用树结构对其进行组织。每个着色点的间接光照是通过在着色点局部坐标下构建一个带深度和颜色信息的层次结构,并且用点云树的节点对其进行填充来计算的,这种结构称为Microbuffer,这种方式类似Z-buffer算法。Microbuffer根据预设的分辨率被分成了许多个cell,每个cell包含颜色和方向等信息,点云树填充过程就是对Microbuffer的光栅化过程。目前比较好的全局光照算法有光路跟踪(pathtracing)、光线跟踪(Raytracing)、光子映射(photonmapping)等。目前针对光线跟踪(Raytracing)算法的CPU向量化已经有很多方法,包括single-raytracing和packettracing。Single-raytracing方法的思想是一条光线通过SIMD指令同时与多个加速结构的节点进行求交,把这种方式应用到了4叉的BVH结构上(包围体层次盒boundingvolumehierarchies),并分别应用到4-wide和16-wide宽度的向量化系统。Single-raytracing方法受场景影响比较大,进而降低了渲染的精度。packettracing用多条光线通过SIMD指令同时与一个加速结构的节点进行求交,当光线连续性好的时候,相邻的光线往往需要访问相同的节点,所以效率大大提高。packettracing方法受光线连续性的影响,渲染效果不稳定。上述针对光线跟踪(Raytracing)算法的向量化的优化方法均在GPU和CPUs上得以实现,但是并未在IntelMIC架构中实现,而且上述方法受场景和光线连续性的影响大,影响渲染效果的稳定性。
技术实现思路
为了解决现有技术的缺点,本专利技术提供一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,该方法能够在IntelMIC众核架构上采用Single模式来实现,该方法不受场景和光线连续性的影响,不仅能够保证渲染精度和稳定性,还能够提升渲染速度。该专利技术主要应用在离线真实感渲染环境,比如影视动漫的渲染,本专利技术在保证渲染质量的前提下,可以节约减少时间。为实现上述目的,本专利技术采用以下技术方案:一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,该方法在IntelMIC众核架构上采用Single模式来实现,该方法具体包括:步骤一、计算场景的直接光照,并根据光照信息生成点云,进而构建一棵点云树;步骤二、沿摄像机方向,向场景发射光线,求出场景与场景的交点即着色点并进行存储;步骤三、将着色点以及点云树信息存储至IntelMIC众核架构内,采用Single模式向量化遍历点云树,求出对当前着色点着色有影响的树节点即贡献树节点,根据立体角大小以及与当前着色点的距离将贡献树节点进行分类;步骤四、利用分类后的贡献树节点求出着色点的间接光照,最后同直接光照一起求出着色点的颜色;步骤五、重复步骤三~步骤四,直至所有的着色点处理完毕,生成最终渲染图像。本专利技术通过计算场景的直接光照,根据光照信息生成点云来构建一棵点云树,遍历点云树求出对当前着色点着色有影响的树节点即贡献树节点,进而计算出着色点的间接光照,最后同直接光照一起求出着色点的颜色,这样使得本专利技术在渲染的过程中不受场景和光线连续性的影响,保证了渲染精度和稳定性。在所述步骤三中,对于贡献树节点:立体角小于给定立体角阈值的节点设为远距离节点;与当前着色点的距离小于给定距离阈值的节点设为近距离节点;与当前着色点的距离大于给定距离阈值的节点设为中距离节点。在实际应用中,优选地,定立体角阈值为2*π/res,其中,res为Microbuffer的分辨率,Microbuffer为在着色点局部坐标下构建的一个带深度和颜色信息的层次结构;给定距离阈值为2倍叶子节点半径。本专利技术通过对着色点有影响的贡献树节点进行分类,通过不同类型的贡献树节点对着色点进行相应的渲染,得到着色点的间接光照,解决了渲染过程受场景和光线连续性影响的问题,保障了着色点全局光照的计算的准确性和渲染效果的稳定性。分类后的贡献树节点分别存储至相应的队列内,能够并行计算最终累加得到着色点的间接光照,提升了着色点渲染的速度。所述步骤四着色点的间接光照由对当前着色点着色有影响的树节点填充Microbuffer而得到,其中,Microbuffer为在着色点局部坐标下构建的一个带深度和颜色信息的层次结构。Microbuffer根据预设的分辨率被分成了若干个cell,每个cell包含颜色和方向信息。此外,本专利技术还提高了渲染速度,其原因为:本专利技术首先对其进行了多核的并行,然后使用Single方式对其进行向量化。本专利技术在IntelMIC众核架构上使用Single模式对PBGI算法中最耗时的遍历点云树部分和光线投射部分分别进行了向量优化,通过有效利用向量化计算单元,在遍历点云树阶段完成一个着色点和多个点云树节点的并行计算;在光线投射阶段完成Microbuffer网格的并行计算。该方法在渲染精度不损失的情况下,相比传统PBGI算法的渲染速度得到显著提升。所述步骤四中,利用分类后的贡献树节点求出着色点的间接光照具体过程为:从着色点沿Microbuffer每个cell的方向发射光线与近距离节点进行求交,并采用向量化对求交进行加速;将中距离节点直接对Microbuffer进行投影;采用远距离节点的颜色对未被求交并且未被投影到的cell进行着色,计算Microbuffer的颜色并累加到当前着色点,得到着色点的间接光照。在所述步骤四中,通过raytracing方法计算着色点的直接光照。raytracing方法的光线追踪,就是从摄影机的位置,通过影像平面上的取样(sampling)位置,发射一束光线到场景,求光线和几何图形间最近的交点,再求该交点的着色。如果该交点的材质是反射性的,可以在该交点向反射方向继续追踪。在所述步骤四中,首先,对近距离节点的队列按照到着色点的距离从近到远进行排序;然后,从着色点沿Microbuffer每个cell的方向发射光线按顺序同近距离节点进行求交。在所述步骤四中,如果当前节点在一个cell方向上被交到了,则继续判断此cell是否之前被求交到,如果有,则跳过,否则在cell上记录下被交到的节点的颜色。在所述步骤四中,采用向量化对求交进行加速的具体过程为:首先选择4个距离着色点最近的近节点,把它们的位置信息即x、y、z、w值依次放入16位的寄存器中,此时寄存器变为4个通道,一个通道包含4个值。在所述步骤四中,首先,对中距离节点按距离着色点距离从近到远进行排序;然后,将每个中距离节点转换到着色点的局部坐标系,随后将每个中距离节点向Microbuffer的cell上进行投影;如果被投影到的cell没有被近节点或之本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610624117.html" title="在Intel MIC硬件架构下的基于点的全局光照场景渲染方法原文来自X技术">在Intel MIC硬件架构下的基于点的全局光照场景渲染方法</a>

【技术保护点】
一种在Intel MIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,该方法在Intel MIC众核架构上采用Single模式来实现,该方法具体包括:步骤一、计算场景的直接光照,并根据光照信息生成点云,进而构建一棵点云树;步骤二、沿摄像机方向,向场景发射光线,求出场景与场景的交点即着色点并进行存储;步骤三、将着色点以及点云树信息存储至Intel MIC众核架构内,采用Single模式向量化遍历点云树,求出对当前着色点着色有影响的树节点即贡献树节点,根据立体角大小以及与当前着色点的距离将贡献树节点进行分类;步骤四、利用分类后的贡献树节点求出着色点的间接光照,最后同直接光照一起求出着色点的颜色;步骤五、重复步骤三~步骤四,直至所有的着色点处理完毕,生成最终渲染图像。

【技术特征摘要】
1.一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,该方法在IntelMIC众核架构上采用Single模式来实现,该方法具体包括:步骤一、计算场景的直接光照,并根据光照信息生成点云,进而构建一棵点云树;步骤二、沿摄像机方向,向场景发射光线,求出场景与场景的交点即着色点并进行存储;步骤三、将着色点以及点云树信息存储至IntelMIC众核架构内,采用Single模式向量化遍历点云树,求出对当前着色点着色有影响的树节点即贡献树节点,根据立体角大小以及与当前着色点的距离将贡献树节点进行分类;步骤四、利用分类后的贡献树节点求出着色点的间接光照,最后同直接光照一起求出着色点的颜色;步骤五、重复步骤三~步骤四,直至所有的着色点处理完毕,生成最终渲染图像。2.如权利要求1所述的一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,在所述步骤三中,对于贡献树节点:立体角小于给定立体角阈值的节点设为远距离节点;与当前着色点的距离小于给定距离阈值的节点设为近距离节点;与当前着色点的距离大于给定距离阈值的节点设为中距离节点。3.如权利要求1所述的一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,所述步骤四着色点的间接光照由对当前着色点着色有影响的树节点填充Microbuffer而得到,其中,Microbuffer为在着色点局部坐标下构建的一个带深度和颜色信息的层次结构。4.如权利要求3所述的一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,Microbuffer根据预设的分辨率被分成了若干个cell,每个cell包含颜色和方向信息。5.如权利要求4所述的一种在IntelMIC硬件架构下的基于点的全局光照场景渲染方法,其特征在于,所述步骤四中,利用分类后的贡献树节点求出着色点的间接光照具体过程为:从着色点沿Microbuffer每...

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

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

1