Gpu并行光线追踪渲染方法

文档序号:6374392阅读:667来源:国知局
专利名称:Gpu并行光线追踪渲染方法
技术领域
本发明属于动画制作领域,涉及ー种GPU并行光线追踪渲染方法。
背景技术
真实感动画需要模拟光线在场景中进行传播所发生的各种物理现象,如多次的反射、折射、投影等。这不仅需要对场景中各种物体的几何属性和材质属性的精确描述,还需进行多次反射、折射带来的极其复杂的求解计算,这使得渲染一幅真实感图像需要很长的时间,图形学领域的很多研究都集中在如何更好地实现全局光照算法,在很短的时间内生成高质量的图像上。
在三维数字动画制作过程中,渲染是一个及其重要的环节,它对产品的质量有着至关重要的影响。以往的渲染方法,如光栅渲染,有着很多“先天不足”的问题,在细节渲染上可能存在严重的失真、无法简单地实现全局光照、无法绘制出准确细腻的阴影效果等问题,而光线跟踪能方便地模拟生成复杂的光照效果,生成高质量的图像。但光线跟踪算法的计算开销较大,妨碍了其应用效率。

发明内容
本发明所要解决的问题在于提出ー种GPU并行光线追踪渲染方法,从而提高了渲染速度,并且使渲染光影效果逼真。本方法采用空间位和GPU并行方法加速光线追踪的速度,能渲染出最接近现实、细节最细腻逼真的画面,且计算速度快,可以在实践中得到很好地应用,包括如下步骤
对文件场景中的空间划分空间位;
计算每个物体的最小包围立方体;
计算包围立方体经过的空间位;
计算经过每个像素点的逆向光线;
计算与光线相交的空间位,从而检索到相关的物体;
计算检索的物体与光线是否相交;
根据相交情况,生成反射光、折射光;
最后采用着色函数计算每个像素点的顔色。本发明所述的对文件场景中的空间划分空间位,其特征在干,将空间分割为WXNXP个长宽高相等的空间位,其中W为X轴向分段数,N为y轴分段数,P为z轴方向分段数,并为每个空间位建立模型列表;
本发明所述的计算每个物体的最小包围立方体,其特征在于,根据物体在世界坐标系中XYZ的坐标范围,根据得到的坐标范围,计算出能够将物体包围进去的ー个最小立方体;本发明所述的计算包围立方体经过的空间位,其特征在于,通过包围立方体的8个顶点坐标,找到对应的8个空间位,再找到其包围的其它空间位;这些空间位即为物体经过空间位,但物体本身和最小包围立方体之间存在空间范围的差异,为減少工作的计算量,将此差异进行忽略;
本发明所述的计算与光线相交的空间位,从而检索到相关的物体,其特征在于,计算光线与这些物体的相交情况,并记录与光线相交的最近点坐标,并生成反射光、折射光,迭代计算;
本发明所述的采用着色函数计算每个像素点的顔色,其特征在于,使用最近物体和最近值T来计算着色函数,以着色函数的结果填充该像素。本发明不仅能够生成逼真细腻的渲染效果,而且采用GPU加快了渲染速度,能够在实际中得到很好的应用。



图I为空间位模型列表生成流程 图2为空间不意 图3为像素点第一相交模型确定流程 图4为光线跟踪流程 图5为阴影验证流程 图6为采用空间位优化与非空间位优化效率比较图。
具体实施例方式下面结合附图及具体实施例对本发明做进ー步详细说明。图I给出了空间位列表的生成流程,具体过程如下
(I)用S代表空间位,空间边长为K。首先将三维空间分割为WXNXP个,W、N、P必须
的取值必须要保证容纳空间内所有模型,结果如图2所示,则S = iSp SンSi…Swxnx5J。每个空间位所占的体积为K X K X K,每ー个空间位对应ー个坐标( S- sZ )。在空间坐标系中,每ー个空间位1对应ー个正方体。假设Sn = (sx,s7,sz),则其对应的空间正方体的对角线
两个顶点的坐标分别为i'sx X K,s,. X Ki sz X K), ( (S3J + I) X K, (Sy + l) X K, (sz 十 i〕X K)。(2)建立起所有的空间位之后需要为每ー个空间位建立模型列表,需要建立ー个由空间位到模型的一对多关系。将所有空间位放入链表SIiSt,链表中内容包括ー个指向另一个链表Mlist的指针,Mlist用于存放所有经过该空间的模型ID。( 3)为了填充MliSt中的数据,需要对所有模型进行遍历,每遍历到ー个模型,得
到模型在空间坐标系中的坐标范围,即。根据前面得到的
坐标范围,得到一个对角线顶点分别是I Xmmf 1Oiinf ^min} ^max ^ ZraaJ的正方体,该正
方体即为该模型的最小包围立方体。(4)得到了最小包围立方体需要将最小包围立方体转化为空间位范围,得到的空间位范围为
权利要求
1.ー种GPU并行光线追踪渲染方法,其特征在于由以下步骤完成 对文件场景中的空间划分空间位; 计算每个物体的最小包围立方体; 计算包围立方体经过的空间位; 计算经过每个像素点的逆向光线; 计算与光线相交的空间位,从而检索到相关的物体; 计算检索的物体与光线是否相交; 根据相交情况,生成反射光、折射光; 最后采用着色函数计算每个像素点的顔色; 其中对文件场景中的空间划分空间位,是将空间分割为WXNXP个长宽高相等的空间位,其中W为X轴向分段数,N为y轴分段数,P为z轴方向分段数,并为姆个空间位建立模型列表; 计算每个物体的最小包围立方体,是根据物体在世界坐标系中XYZ的坐标范围,根据得到的坐标范围,计算出能够将物体包围进去的ー个最小立方体; 计算包围立方体经过的空间位,是通过包围立方体的8个顶点坐标,找到对应的8个空间位,再找到其包围的其它空间位; 计算与光线相交的空间位,从而检索到相关的物体,是计算光线与这些物体的相交情况,并记录与光线相交的最近点坐标,并生成反射光、折射光,迭代计算; 采用着色函数计算每个像素点的顔色,是使用最近物体和最近值T来计算着色函数,以着色函数的结果填充该像素。
2.根据权利要求I所述的GPU并行光线追踪渲染方法,其特征在于用S代表空间位,空间边长为K,首先将三维空间分割为WXNXP个,W、N、P必须的取值必须要保证容纳空间内所有模型,5 ニ (S1, S2, S3-... Swxmxp);每个空间位所占的体积为KX KX K,每一个空间位对应一个坐标(sx;sy,sz ),在空间坐标系中,每一个空间位I对应一个正方体,假设Sn= Ox,则其对应的空间正方体的对角线两个顶点的坐标分别为fs.{ K K,Sy X K, sz X K), ( (sx -f I) K K, (s -f l) K K, (sz 4* I〕X K)。
3.根据权利要求I所述的GPU并行光线追踪渲染方法,其特征在于建立起所有的空间位之后需要为每ー个空间位建立模型列表,需要建立一个由空间位到模型的ー对多关系,将所有空间位放入链表Slist,链表中内容包括ー个指向另ー个链表Mlist的指针,Mlist用于存放所有经过该空间的模型ID。
4.根据权利要求I所述的GPU并行光线追踪渲染方法,其特征在于对所有模型进行遍历,每遍历到ー个模型,得到模型在空间坐标系中的坐标范围,,Dmax. Zmiti, Zmflx ,根据前面得到的坐标范围,得到一个对角线顶点分别是&min, Ymia ZminX CXmai-· %nax> Zmax)的正方体,该正方体即为该模型的最小包围立方体。
5.根据权利要求I所述的GPU并行光线追踪渲染方法,其特征在于得到最小包围立方体需要将最小包围立方体转化为空间位范围,将该模型的ID放到范围内的空间位对应的Mlist中,遍历所有模型后,将得到每一个空间位内包含的模型列表;找到经过像素点的第一模型交点,然后按光线的反射和折射,迭代跟踪过程,直到找到光源,或者达到最大迭代次数;从视点出发,经过每一个视点得到一条光线,得到光线方程,利用GPU中大量的处理核心,将每一束光线方程分配给一个GPU运算核心进行运算; 得到像素点所在空间位Sp,定义一个相交距离T,令T等于最大值; 遍历经过该空间位内所有模型; 遍历每个模型内所有多边形; 如果光线与模型相交,计算相交距离t,将t与T进行比较如果t〈T则T=t;如果在第一个空间位内没有找到交点,则从像素点出发沿光线方向延伸,得到与空间位边界的交点,根据所在面关系,得到光线经过的下一个空间位,直到找到交点,或者光线射出空间位最大范围。
6.根据权利要求I所述的GPU并行光线追踪渲染方法,其特征在于当找到与光线相交的第一个模型后,确定第一个相交点后,进行反射和折射运算,确定模型该位置的光线来源;确定新的光线,寻找下一个相交模型及相交点;整个过程为递归操作,在找到最终的光线来源后,从后向前顺序取得交点颜色,进行明暗衰减处理,阴影验证操作。
7.根据权利要求6所述的GPU并行光线追踪渲染方法,其特征在于从验证点出发,向所有光源进行连线,得出阴影线,验证是否在阴影中,首先得到阴影线经过的第一个空间位;将隐形线与经过该空间位的模型进行相交测试;如果没有相交,则进入第二个空间位,以此类推,直到找到相交点,或者抵达光源位置,最后得到所有光源对于该验证点的阴影验证结果。
全文摘要
一种GPU并行光线追踪渲染方法,属于动画制作领域,包括对文件场景中的空间划分空间位;计算每个物体的最小包围立方体;计算包围立方体经过的空间位;计算经过每个像素点的逆向光线;计算与光线相交的空间位,从而检索到相关的物体;计算检索的物体与光线是否相交;根据相交情况,生成反射光、折射光;最后采用着色函数计算每个像素点的颜色。本发明不仅能够生成逼真细腻的渲染效果,而且采用GPU加快了渲染速度,能够在实际中得到很好的应用。
文档编号G06T15/06GK102855655SQ20121027421
公开日2013年1月2日 申请日期2012年8月3日 优先权日2012年8月3日
发明者郑立国, 门慧勇, 詹亚坤 申请人:吉林禹硕动漫游戏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1