CN104091361A - 一种面向运动模糊的层次包围盒设计方法 - Google Patents
一种面向运动模糊的层次包围盒设计方法 Download PDFInfo
- Publication number
- CN104091361A CN104091361A CN201310710658.7A CN201310710658A CN104091361A CN 104091361 A CN104091361 A CN 104091361A CN 201310710658 A CN201310710658 A CN 201310710658A CN 104091361 A CN104091361 A CN 104091361A
- Authority
- CN
- China
- Prior art keywords
- node
- dough sheet
- bounding box
- irregular
- bvh
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000033001 locomotion Effects 0.000 title claims abstract description 71
- 230000001788 irregular Effects 0.000 claims abstract description 48
- 238000010276 construction Methods 0.000 claims abstract description 16
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000005192 partition Methods 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 37
- 230000000694 effects Effects 0.000 description 24
- 238000012360 testing method Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 7
- 206010004542 Bezoar Diseases 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 241001417524 Pomacanthidae Species 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 206010003402 Arthropod sting Diseases 0.000 description 1
- 241000972773 Aulopiformes Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- NCEXYHBECQHGNR-UHFFFAOYSA-N chembl421 Chemical compound C1=C(O)C(C(=O)O)=CC(N=NC=2C=CC(=CC=2)S(=O)(=O)NC=2N=CC=CC=2)=C1 NCEXYHBECQHGNR-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000020004 porter Nutrition 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 235000019515 salmon Nutrition 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向运动模糊的层次包围盒设计方法,包括构造阶段和遍历阶段两部分,构造阶段在BVH结构的结点内找出所有具有不规则运动行为的面片;搜集所有具有上述特征的面片,把它们放到一个专门的结点MB结点,同时记录该面片穿越分割平面时的时间点;在产生MB结点后,设置一个阈值,当移动到MB结点内的面片占面片总数的比例超过50%时,根据SAH花费模型,基于结点内剩下的面片重新计算分割点的位置,产生新的左右子结点;遍历阶段指导MB结点内的不规则面片进行再分配;重新将MB结点中的所有面片划分到相应的左右子结点中;然后重新计算相应的结点包围盒,调整向下的各个子结点的包围盒,递归这个过程直至整个更新工作完成。
Description
技术领域
本发明涉及图形实时渲染技术领域,尤其涉及一种面向运动模糊效果绘制的层次包围盒设计方法。
背景技术
运动模糊是一种在照相机摄影过程中可能产生的影像效果,通常是由于物体或者相机快速移动引起的。在物体和照相机相对移动的有限时间内,保持照相机的快门一直打开,使获得的图片能够模拟人眼的感觉,出现运动模糊的现象。运动模糊效果能够减少或者去除图片的闪动现象,给场景绘制带来极大的视觉真实性。在电影级绘制技术中,由于帧率较低,运动模糊对于表现真实感效果是非常重要的。随着虚拟现实、视频游戏、电影制作等娱乐产业的快速发展,运动模糊效果在真实感图形实时绘制中变得越来越重要。然而,绘制运动模糊效果一般需要在时空区间内进行多维度的采样计算,这增加了计算的复杂性和场景组织的难度。
光线跟踪技术是一种在图形绘制领域中广泛使用的技术, Cook等[1]在分布式光线跟踪技术中通过随机采样的方法实现了运动模糊效果的绘制。在光线跟踪算法中,构造加速结构是其中重要的一步,通过将面片重新进行组织,迅速剔除一些可预测的不可能与光线相交的空间区域,可以大大减少无效的光线遍历操作和相交操作,较为明显地影响光线遍历的性能。针对加速结构的操作主要有遍历操作和相交操作,目前有几种常用的加速结构,如网格结构(grid)[2]、八叉树(octree)[3]、KD树[4]、 空间二叉树(BSP)[5]、层次包围盒结构(BVH)[6]以及层次隔段包围盒结构(Bounding Interval
Hierarchies)[7]等。
通常使用BVH结构来进行运动模糊效果的绘制,这种方法假定场景中的所有面片进行线性移动,因此只需计算出运动开始位置和结束位置的结点包围盒,然后利用由随机采样方法所分配给光线的时间采样点,使用线性差值的方法计算相应时间点的结点差值包围盒[8]。相比使用包含面片在整个时间域内的完整移动路径的结点包围盒,使用差值方法可以产生更紧凑更有效的结点包围盒,有效减少光线遍历操作的次数。
然而,由于在BVH结构中每个面片只能存在于唯一的叶子结点中,使BVH结构可能会遇到包围盒重叠的问题[9]。当结点包围盒发生区域重叠时,遍历重叠区域的光线必须要遍历该结点的两个子结点及其下面对此重叠区域有贡献的子结点,无法进行有效的区域剔除,最终增加相交测试的开销。精确的SAH花费模型可以减少BVH结构包围盒重叠的程度,但是运动模糊效果使这个问题变得更加复杂。
进一步讲,每个面片可能有不同的移动向量,一些面片可能与其它面片的移动路径相差较大,无法用线性关系来定义这些行为,这些行为可能会急剧地扩大原有结点包围盒的大小,引起严重的包围盒重叠问题,最终可能会改变原有加速结构的拓扑结构,影响加速结构的质量。一种极端情况是,一个小面片可能会在照相机快门打开的过程中,沿着整个场景的包围盒对角线从一侧移动到另一侧,使所在的包围盒迅速变大。
为了解决这个问题,Ernst等[10]提出了ESC(Early Split Clipping)构造方法,通过使经过切割的几何面片在BVH结构中可以被多个结点包围盒所包含,减小了结点包围盒的大小,进而降低了重叠问题对BVH结构性能的影响。 Holger等[11]提出了EVH(Edge Volume Heuristic)方法,与Ernst等[10]的方法类似,不同的是EVH方法是对实际的三角面片进行切割,而不是包围盒,减少了结点的空区域。
这两种方法存在共同的问题,一是没有考虑到面片之间的相互影响,只是单一地对每一个面片进行处理,二是需要手工设置参数对面片进行处理。Martin等[12]结合了KD树和BVH结构的特点,设计了SBVH结构,使用SAH花费模型来自动进行面片切割和结点划分,在BVH结构中添加了面片分割的能力,使几何面片不再受限于必须被分配到BVH结构中的唯一子结点。但是,上述方法并没有考虑面片运动行为对加速结构层次结构和包围盒大小的动态影响。
Fatahalian等[13]指出快速绘制运动模糊效果存在两个难题:一个是很难在多维空间上有效地定位一个几何面片,形成紧凑的包围盒,进而减少采样点的数量;第二个是,在多维空间中进行采样计算本身就是一个昂贵的操作。为了解决第一个问题,他们的方法是基于微多边形在时间域上进行采样,使用数据并行的光栅化方法实现了运动模糊效果和景深效果。
周昆等[14]提出了一个基于微多边形(micropolygon)的光线跟踪算法,并设计了一个基于四维空间的超多边形BVH结构,通过使用OBB (oriented bounding boxes)包围盒,着重解决上述第二个问题,来快速地进行运动模糊效果的绘制。
上述方法能够在具有规则运动行为的场景中使用线性插值的方法有效地产生紧密的结点包围盒,解决BVH结构的包围盒重叠问题。然而,对于具有非规则运动行为的场景,这些方法的性能将会降低,因为重叠问题在这种情况下更加明显,差值方法将会失效,BVH结构的质量将会迅速降低。本发明针对上述问题,通过设计一个合理的加速结构,给出运动模糊效果快速绘制的相应解决办法。
发明内容
本发明提供一种面向运动模糊的层次包围盒(BVH)设计方法,用来加速具有运动模糊效果的场景绘制。将这个新的加速结构命名为MBBVH(Motion Blur Bounding
Volume Hierarchy),尤其用来处理具有不规则运动行为的面片,加速含有大量不规则运动行为的面片的场景中运动模糊效果的绘制。
本发明为实现上述目的所采用的技术方案是:一种面向运动模糊的层次包围盒设计方法,包括构造阶段和遍历阶段两部分:
(
1
)构造阶段:
第一步:在BVH结构的结点内找出所有具有不规则运动行为的面片;所述具有不规则行为的面片如下定义:如果有一个面片,因为移动行为使得它所属的结点包围盒与另一结点包围盒相交,进而破坏树结构的层次关系,则定义该面片的运动是不规则的;
第二步:使用SAH花费模型来计算结点的分割平面,并基于T=0.5这一时间点来构造场景的拓扑结构;
第三步:检查在当前结点中的所有面片,其基于时间的扩展包围盒是否会穿过结点的分割平面,所述扩展包围盒是指:将包围盒在整个运动时间区间内各个时间点生成的移动包围盒的并集所形成的大包围盒;结点中的移动面片可能在不同的时间点穿过分割平面,搜集所有具有上述特征的面片,把它们放到一个专门的结点,这里称为MB结点,同时记录该面片穿越分割平面时的时间点;当前结点内其余的面片与通常的BVH结点构造方法一样,使用SAH花费模型划分成两个左右子结点,这里称为常规结点;
第四步:在产生MB结点后,设置一个阈值,当移动到MB结点内的面片占面片总数的比例超过50%时,根据SAH花费模型,基于结点内剩下的面片重新计算分割点的位置,产生新的左右子结点;
(
2
)遍历阶段
第一步:遵循深度优先的顺序,根据特定光线所随机分配到的时间点,指导MB结点内的不规则面片进行再分配,然后根据分配的结果,实时调整MBBVH结构各个结点的包围盒以及相应的结构层次;
第二步:将MB结点中的各个面片,根据刚刚计算的新位置,通过与这个已经存储的分割平面位置进行比较,重新将MB结点中的所有面片划分到相应的左右子结点中;
第三步:在这个重分配操作进行之后,重新计算相应的结点包围盒,同时调整向下的各个子结点的包围盒,递归这个过程,直至整个更新工作完成;对于MBBVH结构中不与光线相交的结点,则不需要对这些结点进行重计算和更新工作;
第四步:对于只含有少量的不规则面片的内部结点,仍然使用对规则运动面片性能较好的线性插值方法来对结点包围盒进行简单的变形。
所述遍历阶段第一步:当一条具有随机时间采样点的光线开始遍历时,当遍历到一个内部结点时,首先将检查该结点是否具有MB结点,如果存在MB结点,则首先访问MB结点,在MB结点中的所有面片会根据正在遍历该结点的光线的时间属性值计算在这一时间点的新位置。
所述遍历阶段第四步:使用两个子结点的扩展包围盒的重叠区域大小作为评估策略来评估一个内部结点内是否含有足够多的不规则面片,进而判断是否需要对相应子结点进行调整计算。
在遍历阶段进行实际计算时,只需使用在当前所选的分割维度上的重叠区域来简化计算,如式(1)所示:
> Threshold
式(1)
式中,N代表一个内部结点,N 1和N 2代表结点N的两个子结点,SA(N 1)、SA(N 2)和SA(N)分别代表相应的表面积大小,ESA(N 1)和ESA(N 2)分别代表相应结点的扩展包围盒的表面积大小,∩代表逻辑与操作,Threshold是设置的阈值(设置成10%),用来控制结点所能允许的含有不规则面片的数量,进而决定结点N的子结点的构造方式。
如果重叠区域大于设定的阈值,则判定此结点所含有的不规则面片对后续的遍历可能会产生显著的性能影响,因此需要产生MB结点。否则,则判定该结点为规则运动结点,忽略可能存在的个别面片的不规则运动行为,不需要产生MB结点。在这种情况下,相应的构造方法和遍历方法都与传统的BVH结构的构造方法和遍历方法相同。
另一方面,本发明还使用不规则面片穿越分割平面的时间这一因素来决定划分的策略。由于面片穿越分割平面的时间是各不相同的,有的面片在开始时刻就从当前子结点区域侵入到另一个子结点的区域,而有的面片则在运动时间域内的最后时刻才进入另一个子结点的区域。
对于后一种情况,本发明将不把这样的面片放入到MB结点中,只是将它保留在原有的子结点中,在光线遍历时根据具体的时间对包围盒做适当的变形操作。对于前一种情况,本发明设定了一个阈值(50%),如果符合前一种情况的面片数量超过这个阈值,则说明大多数面片在运动行为发生不久之后,就从当前子结点区域转移到另一个子结点的区域内,因此在这种情况下,需要进行面片的重分配计算和包围盒的重调整计算。
通过这两种评估策略,算法可以自适应地实现线性插值与调整计算两种处理方式的自动切换,合理控制MBBVH处理具有不规则运动行为的面片的开销,降低遍历操作在面片重分配与包围盒重调整方面的花费。
附图说明
图1为本发明方法所提出的MBBVH结构的结点划分过程。
图2为本发明方法基于不同的GPU处理核数所得到的BVH构造时间。
具体实施方式
下面结合具体实施方式对本发明作进一步详细介绍,但本发明并不局限于具体实施例。
一种面向运动模糊的层次包围盒设计方法,包括构造阶段和遍历阶段两部分:
(
1
)构造阶段:
第一步:在BVH结构的结点内找出所有具有不规则运动行为的面片;所述具有不规则行为的面片如下定义:如果有一个面片,因为移动行为使得它所属的结点包围盒与另一结点包围盒相交,进而破坏树结构的层次关系,则定义该面片的运动是不规则的;由于树结构内的一些结点包围盒可能包含一些叶子结点基于时间的扩展包围盒,本发明依据这个性质扑捉在结点内部所有具有不规则运动行为的面片,对于每个叶子结点,应该至少有一个上层祖先结点,其包围盒的大小大于叶子结点的扩展包围盒的大小。
为了使BVH层次结构调整所需的花费降到最低,对于每个叶子结点,本发明选择最深的上层祖先结点,选择这个结点可以说明两点内容:一是这个祖先结点的包围盒包含此叶子结点的扩展包围盒;二是这个祖先结点向下的各个子结点的包围盒将不再能够包含此叶子结点的扩展包围盒。
第二步:使用SAH花费模型来计算结点的分割平面,并基于T=0.5这一时间点来构造场景的拓扑结构;在结点构造过程中,需要找出所有这样的面片,其扩展包围盒包含于当前结点,但是不再包含于当前结点向下的任何子结点包围盒中。与以前的许多方法一样,MBBVH结构的构造方法挖掘了面片在移动过程中的时空连续性,因此,将整个运动过程中的时间区间定义为T=0和T=1之间,这里只考虑T=0.5时刻的场景拓扑结构。Wald等[15]指出在这种情况下,中间时刻的场景层次结构能够对相邻时间点的场景保持较好的加速性能。尽管Wald的结论并非针对不规则运动行为,它仍然能够对大多数树结点表现出良好的性能。
第三步:检查在当前结点中的所有面片,其基于时间的扩展包围盒是否会穿过结点的分割平面,所述扩展包围盒是指:将包围盒在整个运动时间区间内各个时间点生成的移动包围盒的并集所形成的大包围盒;结点中的移动面片可能在不同的时间点穿过分割平面,搜集所有具有上述特征的面片,把它们放到一个专门的结点,即MB结点,同时记录该面片穿越分割平面时的时间点;当前结点内其余的面片与通常的BVH结点构造方法一样,使用SAH花费模型划分成两个左右子结点,这里称为常规结点;
第四步:在产生MB结点后,设置一个阈值,当移动到MB结点内的面片占面片总数的比例超过50%时,根据SAH花费模型,基于结点内剩下的面片重新计算分割点的位置,产生新的左右子结点。
在具体实施过程中,如图1所示,结点中的移动面片可能在不同的时间点穿过分割平面。在当前结点内,我们搜集所有具有上述特征的面片,把它们放到一个专门的结点,即MB结点,同时记录该面片穿越分割平面时的时间点。在图1中,面片A、B、C、D作为不规则运动面片,被收集到了MB结点中。
需要注意的是,MB结点内的面片可能会存在一定的噪音,表现在一些被放到MB结点内的面片可能并不是具有不规则行为的面片,只是因为过于靠近分割平面而被误当做不规则行为处理。因此,本发明通过设置一个阈值距离(设为距离分割平面的相对距离为包围盒在当前维度下长度的10%以内),来限定距离分割平面一定范围内的面片不需要被划分到MB结点中。
传统BVH结构和MBBVH结构之间的区别从层次结构的构造角度来说在于,在MBBVH结构中,对于每一个含有不规则运动行为面片的内部结点,MBBVH结构将设立一个额外的MB结点,用来收集在当前结点内所有具有不规则运动行为的面片。MB结点与当前结点的常规子结点处于MBBVH结构的同一层次,MB结点内的面片都具有时间属性。
在上面的构造阶段中,MBBVH结构中的每个结点追踪在结点内部中明显与其它面片的移动向量不同的面片,将这些特殊面片收集到一个MB结点内。因为在构造期间无法获得遍历光线的时间属性值,算法避免在这个阶段解决这些特殊的面片,而是当光线在遍历阶段获得时间属性值时,对这些特殊面片进行处理。
(2)遍历阶段:
第一步:遵循深度优先的顺序,根据特定光线所随机分配到的时间点,指导MB结点内的不规则面片进行再分配,然后根据分配的结果,实时调整MBBVH结构各个结点的包围盒以及相应的结构层次;
第二步:将MB结点中的各个面片,根据刚刚计算的新位置,通过与这个已经存储的分割平面位置进行比较,重新将MB结点中的所有面片划分到相应的左右子结点中;
第三步:在这个重分配操作进行之后,重新计算相应的结点包围盒,同时调整向下的各个子结点的包围盒,递归这个过程,直至整个更新工作完成;对于MBBVH结构中不与光线相交的结点,则不需要对这些结点进行重计算和更新工作;
第四步:对于只含有少量的不规则面片的内部结点,仍然使用对规则运动面片性能较好的线性插值方法来对结点包围盒进行简单的变形。
具体实施过程中,如图2所示,当光线进行遍历时,MB结点内的面片A、B、C、D根据光线时间被重新分配到合适的子结点内,A、C被分配到右子结点中,B、D被分配到左子结点中,然后重新调整左右子结点的包围盒以及向下的受影响的包围盒,最终使得光线可以不必遍历全部受影响的面片。
由于上述面片重分配和包围盒重调整的过程会给光线的遍历操作增加额外的计算量,注意到具有相同或者相近时间点的光线会对MB结点内的面片进行相同的重分配过程,因此,为了减少这些开销,本发明根据光线所分配到的随机时间属性值对光线进行了排序。这样,具有相同或者相近时间点的光线可以一起遍历MBBVH结构,共同使用一个调整后的MBBVH结构,从而有效地减少了动态调整计算所可能引起的开销。
在实验部分,选择在Intel Core 2 Duo E8400上实现MBBVH结构相应的算法。这里选取的比较对象是传统的BVH结构,测试三个重要的数据:包括全部光线在加速结构中进行遍历操作的次数、相交操作的次数以及使用的绘制时间。实验所选用的测试场景分别为Hairball、Ben、Toasters、Killeroo,含有面片数分别为389K、78K、11K、123K。其中Killerroo被置于Sponza内部,用于测试照相机、物体、背景之间的相对移动行为。选择这四个场景是因为它们覆盖了广泛的场景复杂度,包含了具有规则运动行为和不规则运动行为的面片。
Hairball是一个比较复杂的场景。在Hairball场景中,每缕毛发都朝着不确定的方向运动,是体现不规则运动行为的比较理想的模型。另外两个场景中的面片显示了相对规则的运动。Toaster场景显示的是几个在石台上正在跳舞的toaster,石台并不移动。这个场景所包含的移动量是一定的,但是正在跳舞的toaster内部的面片运动,相对于在这个时刻其它没有跳舞的toaster,这部分行为是不规则的。
Ben场景显示了一个正在跑动的人,在这个场景中,物体沿着某一方向进行匀速运动,仅在腿部存在不规则的运动行为。Killeroo场景显示了Killeroo在Sponza空间内进行移动,目的是要测试当保持照相机和背景参照物不动的条件下,Sponza进行移动所产生的运动模糊效果。选择这个场景的另一个目的是,由于Sponza含有较多的形状大小不规则的面片,可以用来测试MBBVH算法中对大小不规则面片的处理方法的效果。
表1显示了与BVH结构相比,使用MBBVH进行运动模糊效果的绘制在遍历次数和相交次数方面的性能比较。由表1可知,相比较于BVH,MBBVH只对Hairball场景产生了较好的结果,遍历次数与相交次数都减少了近20%。这说明Hairball场景内确实含有大量的具有不规则运动行为的面片,这些面片的不规则运动破坏了BVH原有的层次结构,降低了BVH结构的质量。
反过来,MBBVH结构是一种专门用来处理运动模糊效果的加速结构,可以有效地处理在运动中具有不规则行为的面片,表1的实验结果证明了这一点。尤其是MBBVH可以降低遍历操作的次数,这对于一些在复杂场景中普遍存在的访存受限问题的有效解决是非常重要的。
然而,表1的实验结果也说明对于其它几个场景, MBBVH并未获得比BVH好的结果,尤其是对于Toasters场景,遍历次数和相交次数分别增加了13%和10%。一方面说明这三个场景中没有足够多的具有不规则运动行为的面片,来体现MBBVH结构的优势;另一方面也说明三个场景中物体的运动行为并未破坏原有BVH的层次结构,造成BVH结构质量的下降。
对于Toasters场景,使用MBBVH结构之所以引起性能的相对较大下降,一个可能的原因是MBBVH在遍历阶段的面片重分配过程破坏了原有使用SAH模型划分的层次结构,上一节中所描述的为解决这个问题而设计的方法因为未达到阈值而未能在这个场景中起到预期的作用,但是降低阈值标准将会使重分配过程产生更大的开销,本发明需要在这两者之间取得一个平衡点。
表2给出了对测试场景分别使用MBBVH和BVH结构进行构造所得到的加速结构构造时间以及用于绘制的加速结构遍历时间。使用OpenGL来显示图片,所测得的性能数据不包括显示图片所用去的时间以及CPU与GPU之间的数据传输时间。需要指出的是,在本实验中,由于算法重点研究的是对遍历操作和相交操作的性能,并没有对构造过程和遍历过程进行专门的优化和并行加速,这也是今后工作需要考虑的地方。但是表2的数据仍然可以对使用MBBVH和BVH结构进行构造所需要的加速结构构造时间和遍历时间得到一个可以进行相对比较的结果。
由表2可知,在Hairball场景中,MBBVH相对于BVH结构在构造时间和遍历时间上分别提高了20%和15%。对于其它场景,在MBBVH的构造过程中,由于MB结点的产生使得常规结点所选取的构造对象的范围有所减少,因此缩短了构造时间,相对于BVH结构在构造时间上有15% ~ 20%的降低。
但是对于遍历时间,由于这几个场景中没有足够多的具有不规则运动行为的面片使整个场景的运动行为表现出不规则性,MBBVH方法在遍历过程中的一些额外开销不能抵消只处理少量不规则运动面片所带来的性能提升,因此没有显示出好于BVH结构的性能。但是如果能够保证有充足的光线对加速结构进行遍历,即使用更高的采样率,在遍历过程中的这些额外开销能够被更多的光线所分担,进而提高遍历的性能。需要指出的是,在Killeroo场景中,MBBVH中所使用的对不规则形状和大小的特殊处理方法可以获得相比于不使用这种方法近5%的性能提升。
表3显示了对于Killeroo场景,在不同的移动速度下,使用MBBVH与使用BVH结构进行运动模糊效果绘制的相对绘制时间的比较。注意这个场景中只有Killeroo模型,没有Sponza模型作为背景,每个像素的采样率是4×4。
由表可知,随着移动速度的增长,对于Killeroo场景使用BVH和MBBVH进行运动模糊效果绘制的相对绘制时间在逐渐变小,说明MBBVH方法对具有较快移动速度的场景绘制更加有效。这也说明较快的移动速度使得场景内面片的移动行为更加不规则。
表1 BVH和MBBVH对于测试场景在遍历次数和相交次数方面的比较
表2 BVH和MBBVH对于测试场景在构造时间和遍历时间的比较
表3 BVH和MBBVH对于Killeroo场景在不同移动速度下对运动模糊效果的相对绘制时间的比较(这里的速度和时间都是指相对的移动速度和绘制时间)
参考文献
[1] R. L. Cook, T. Porter
and L. Carpenter. Distributed ray tracing [C]. Proceeding of SIGGRAPH,
Minneapolis, Minnesota, USA, 1984: 137-145.
[2] A. Fujimoto, T. Tanaka
and K. Iwata. Accelerated ray-tracing system [J]. IEEE Computer Graphics and
Applications, 1986, 6(4): 16-26.
[3] A. S. Glassner. An Introduction to ray tracing [M]. Academic
Press, 1989.
[4] J. L. Bentley.
Multidimensional binary search trees used for associative searching [J]. Commun. ACM, 1975, 18(9): 509-517.
[5] D. Gordon and S. Chen.
Front-to-back display of BSP trees [C]. IEEE Computer Graphics and Applications,
1991: 79-85.
[6] J. Goldsmith and J.
Salmon. Automatic creation of object hierarchies for ray tracing [J]. IEEE
Computer Graphics and Applications, 1987, 7(5): 14-20.
[7] C. Wächter and A.
Keller. The bounding interval hierarchy [C]. Proceeding of 17th Eurographics
Symposium on Rendering, Nicosia, Cyprus, 2006: 139-149.
[8] W. R. Mark and D.
Fussell. Real-time rendering systems in 2010 [C]. ACM SIGGRAPH 2005 Courses,
Los Angeles, California, USA, 2005: 19.
[9] E. Veach and L. J.
Guibas. Metropolis light transport [C]. Proceedings of the 24th annual
Conference on Computer graphics and interactive techniques, New York, NY, USA,
1997: 65-76.
[10] M. Ernst and G.
Greiner. Early split clipping for bounding volume hierarchies [C]. Proceedings
of IEEE Symposium on Interactive Ray Tracing, Ulm, Germany, 2007: 73-78.
[11] H. Dammertz and A.
Keller. Edge Volume Heuristic - robust triangle subdivision for improved BVH
performance [C]. Proceeding of IEEE Symposium on Interactive Ray Tracing, Los
Angeles, California, USA, 2008: 155-158.
[12] M. Stich, H.
Friedrich and A. Dietrich. Spatial splits in bounding volume hierarchies [C].
Proceedings of the Conference on High Performance Graphics, New Orleans,
Louisiana, USA, 2009: 7-13.
[13] K. Fatahalian, E.
Luong, S. Boulos, et al. Data-parallel rasterization of micropolygons with
defocus and motion blur [C]. Proceeding of High Performance Graphics, New
Orleans, LA, USA, 2009: 59-68.
[14] Q. Hou, H. Qin, W.
Li, et al. Micropolygon ray tracing with defocus and motion blur [C].
Proceeding of ACM SIGGRAPH, Los Angeles, California, USA, 2010: 1-10.
[15] I. Wald. On fast
construction of SAH-based bounding volume hierarchies [C]. Proceedings of the
IEEE/Eurographics Symposium on Interactive Ray Tracing, Ulm, Germany, 2007: 33-40.
Claims (4)
1.一种面向运动模糊的层次包围盒设计方法,包括构造阶段和遍历阶段两部分,其特征是:
(1)构造阶段:
第一步:在BVH结构的结点内找出所有具有不规则运动行为的面片;所述具有不规则行为的面片如下定义:如果有一个面片,因为移动行为使得它所属的结点包围盒与另一结点包围盒相交,进而破坏树结构的层次关系,则定义该面片的运动是不规则的;
第二步:使用SAH花费模型来计算结点的分割平面,并基于T=0.5这一时间点来构造场景的拓扑结构;
第三步:检查在当前结点中的所有面片,其基于时间的扩展包围盒是否会穿过结点的分割平面,所述扩展包围盒是指:将包围盒在整个运动时间区间内各个时间点生成的移动包围盒的并集所形成的大包围盒;结点中的移动面片可能在不同的时间点穿过分割平面,搜集所有具有上述特征的面片,把它们放到一个专门的结点,这里称为MB结点,同时记录该面片穿越分割平面时的时间点;当前结点内其余的面片与通常的BVH结点构造方法一样,使用SAH花费模型划分成两个左右子结点,这里称为常规结点;
第四步:在产生MB结点后,设置一个阈值,当移动到MB结点内的面片占面片总数的比例超过50%时,根据SAH花费模型,基于结点内剩下的面片重新计算分割点的位置,产生新的左右子结点;
(2)遍历阶段
第一步:遵循深度优先的顺序,根据特定光线所随机分配到的时间点,指导MB结点内的不规则面片进行再分配,然后根据分配的结果,实时调整MBBVH结构各个结点的包围盒以及相应的结构层次;
第二步:将MB结点中的各个面片,根据刚刚计算的新位置,通过与这个已经存储的分割平面位置进行比较,重新将MB结点中的所有面片划分到相应的左右子结点中;
第三步:在这个重分配操作进行之后,重新计算相应的结点包围盒,同时调整向下的各个子结点的包围盒,递归这个过程,直至整个更新工作完成;对于MBBVH结构中不与光线相交的结点,则不需要对这些结点进行重计算和更新工作;
第四步:对于只含有少量的不规则面片的内部结点,仍然使用对规则运动面片性能较好的线性插值方法来对结点包围盒进行简单的变形。
2.根据权利要求1所述的一种面向运动模糊的层次包围盒设计方法,其特征是:所述遍历阶段第一步:当一条具有随机时间采样点的光线开始遍历时,当遍历到一个内部结点时,首先将检查该结点是否具有MB结点,如果存在MB结点,则首先访问MB结点,在MB结点中的所有面片会根据正在遍历该结点的光线的时间属性值计算在这一时间点的新位置。
3.根据权利要求1所述的一种面向运动模糊的层次包围盒设计方法,其特征是:所述遍历阶段第四步:使用两个子结点的扩展包围盒的重叠区域大小作为评估策略来评估一个内部结点内是否含有足够多的不规则面片,进而判断是否需要对相应子结点进行调整计算。
4.根据权利要求1所述的一种面向运动模糊的层次包围盒设计方法,其特征是:在遍历阶段进行实际计算时,只需使用在当前所选的分割维度上的重叠区域来简化计算,如式(1)所示:
> Threshold 式(1)
式中,N代表一个内部结点,N 1和N 2代表结点N的两个子结点,SA(N 1)、SA(N 2)和SA(N)分别代表相应的表面积大小,ESA(N 1)和ESA(N 2)分别代表相应结点的扩展包围盒的表面积大小,∩代表逻辑与操作,Threshold是设置的阈值(设置成10%),用来控制结点所能允许的含有不规则面片的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310710658.7A CN104091361A (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的层次包围盒设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310710658.7A CN104091361A (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的层次包围盒设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104091361A true CN104091361A (zh) | 2014-10-08 |
Family
ID=51639076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310710658.7A Pending CN104091361A (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的层次包围盒设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104091361A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066647A (zh) * | 2015-12-15 | 2017-08-18 | 达索系统西姆利亚公司 | 虚拟现实创建方法 |
CN113808244A (zh) * | 2020-06-15 | 2021-12-17 | 辉达公司 | 支持运动模糊和运动/变形几何形状的光线追踪硬件加速 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292238B1 (en) * | 1997-05-02 | 2007-11-06 | Koninklijke Philips Electronics N. V. | Method of displaying an output image of a scene from a freely selectable viewpoint |
-
2013
- 2013-12-20 CN CN201310710658.7A patent/CN104091361A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292238B1 (en) * | 1997-05-02 | 2007-11-06 | Koninklijke Philips Electronics N. V. | Method of displaying an output image of a scene from a freely selectable viewpoint |
Non-Patent Citations (1)
Title |
---|
杨鑫: ""面向高性能图形绘制的加速结构设计"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066647A (zh) * | 2015-12-15 | 2017-08-18 | 达索系统西姆利亚公司 | 虚拟现实创建方法 |
CN107066647B (zh) * | 2015-12-15 | 2022-05-13 | 达索系统西姆利亚公司 | 虚拟现实创建方法 |
CN113808244A (zh) * | 2020-06-15 | 2021-12-17 | 辉达公司 | 支持运动模糊和运动/变形几何形状的光线追踪硬件加速 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101148613B1 (ko) | 지형 생성 시스템, 지형 생성 방법 및 프로그램 저장 장치 | |
Shade et al. | Hierarchical image caching for accelerated walkthroughs of complex environments | |
CN103093499B (zh) | 一种适用于网络传输的城市三维模型数据组织方法 | |
EP1754196B1 (en) | Resource management for rule-based procedural terrain generation | |
JP4937907B2 (ja) | ルールベースの手続的地形生成 | |
JP5063695B2 (ja) | 空間インデックスをトラバースする方法及びシステム | |
US8284195B2 (en) | Cooperative utilization of spatial indices between application and rendering hardware | |
US20080231627A1 (en) | Using Ray Tracing to Enhance Artificial Intelligence Character Behavior | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN109754458A (zh) | 三维场景的构建方法、装置及计算机可读存储介质 | |
CN103745455B (zh) | 一种面向运动模糊的场景空间划分方法 | |
Greuter et al. | Undiscovered worlds–towards a framework for real-time procedural world generation | |
CN109636889A (zh) | 一种基于动态缝合带的大规模三维地形模型渲染方法 | |
CN115131482A (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
US9082218B2 (en) | Method for manipulating three-dimensional voxel data for on-screen visual | |
Zach et al. | Time-critical rendering of discrete and continuous levels of detail | |
Kohek et al. | Interactive Large‐Scale Procedural Forest Construction and Visualization Based on Particle Flow Simulation | |
CN104091361A (zh) | 一种面向运动模糊的层次包围盒设计方法 | |
KR100939212B1 (ko) | 광선 집합을 이용한 병렬 광선 추적 방법 및 시스템 | |
Luo et al. | Quad-tree atlas ray casting: a gpu based framework for terrain visualization and its applications | |
Barut et al. | Combining GPU-generated linear trajectory segments to create collision-free paths for real-time ambient crowds | |
Liao et al. | Research on Fast Visibility Judgment Algorithms Based on n-Fork Tree | |
CN116109752B (zh) | 一种点云实时采集结构化及渲染方法 | |
Zhao et al. | Real-time animating and rendering of large scale grass scenery on gpu | |
Liu et al. | Three-dimensional modeling of virtual city: Taking multiGenCreator for example |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141008 |