CN103745455A - 一种面向运动模糊的场景空间划分方法 - Google Patents
一种面向运动模糊的场景空间划分方法 Download PDFInfo
- Publication number
- CN103745455A CN103745455A CN201310706548.3A CN201310706548A CN103745455A CN 103745455 A CN103745455 A CN 103745455A CN 201310706548 A CN201310706548 A CN 201310706548A CN 103745455 A CN103745455 A CN 103745455A
- Authority
- CN
- China
- Prior art keywords
- dough sheet
- node
- scene
- time
- motion blur
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
一种面向运动模糊的场景空间划分方法,包括场景组织和面片细分两部分,(1)场景组织,即面向移动面片的空间层次结构,
Description
技术领域
本发明涉及图形实时渲染技术领域,尤其涉及一种面向运动模糊效果绘制的场景组织方法。
背景技术
运动模糊效果是一种在照相机摄影过程中可能产生的影像效果,通常是由于物体或者相机快速移动引起的。在物体和照相机相对移动的有限时间内,保持照相机的快门一直打开,使获得的图片能够模拟人眼的感觉,出现模糊的现象。运动模糊效果能给场景绘制带来很大的视觉真实性,广泛存在于电影工业的高质量离线绘制技术中。在电影级绘制技术中,由于帧率较低(大约每秒24帧),运动模糊对于表现真实感效果是非常重要的。
随着视频游戏的快速发展,运动模糊效果在图形实时绘制过程中也变得越来越重要。但是,由于绘制运动模糊效果一般需要在时空区间内进行多维度的采样计算,大量的采样计算增加了计算的复杂性和所需的开销,同时也可能引起着色计算次数的大量增加。因此,实现准确的运动模糊效果增加了绘制的复杂度,这些额外的复杂性使运动模糊效果的快速绘制变得比较困难,使运动模糊绘制技术在实时绘制系统中的应用目前为止还较为缓慢。
本发明专利有两方面的目的: 一是为了快速模拟现实中的运动模糊效果,以提高绘制的质量;二是可以减轻绘制中的锯齿效果, 在硬件不支持反锯齿的情况下, 是一个廉价的替代方案。
通常需要借助光线跟踪技术来实现运动模糊效果,关于在光线跟踪绘制框架下进行运动模糊效果的绘制,侯启明等[1]提出了一个基于微多边形(micropolygon)的光线跟踪算法,设计了一个基于四维空间的超多边形BVH结构,通过使用OBB包围盒进行差值计算获得了更紧的包围盒,使采样计算更加有效,着重解决多维空间下的采样问题。Wald等[2]使用随机采样的方法进行了实现,Glassner[3]提出了基于时空采样的方法,但忽略了时间维度上的几何相关性。Olsson等[4]设计了4维KD树,在空间和时间维度上对场景进行了划分,但是需要昂贵的预处理过程和存储消耗。Leonhard等[5]提出了MSBVH结构,通过使用空间切割技术实现基于SBVH结构[6]的结点包围盒差值方法,使SBVH结构能够支持运动模糊效果。尽管上述方法给出了一系列使用光线跟踪技术进行运动模糊效果绘制的有效方法,但仍存在一些问题,例如:在一些情况下可能产生严重的包围盒重叠问题,不能正确地在基于空间划分的层次结构上进行计算,需要预处理和较多存储消耗等。
如上所述,光线跟踪绘制技术[7]通常借助加速结构[8]对场景中的面片按照对象或者空间的划分方式进行合理地组织,来减少光线面片之间不必要的相交操作,BVH结构和KD树是常用的用于场景组织的加速结构[9]。已经有很多关于加速结构方面的方法[9],但是这些方法集中在加速结构的构造、遍历和存储结构上,专门为实现运动模糊效果而设计的加速结构几乎没有。
由于额外的采样计算和面片使用,实现准确的运动模糊效果增加了场景组织的复杂度,这些额外的复杂性使运动模糊效果的快速绘制变得比较困难,对加速结构的构造和访问算法提出了更高的要求。具体来说,运动模糊效果需要在快门打开的有限时间区间内扑捉所有的移动面片,这给一个有效的紧密包围盒的计算带来了困难,可能引起更严重的包围盒重叠问题,甚至错误的计算。
基于空间划分方式的KD树则不存在包围盒重叠的问题[9]。相比BVH结构,KD树具有更有效的层次结构,通过有序遍历可以获得更低的遍历花费,进而得到更快的绘制性能。然而,在KD结构中,每个面片可能存在于同一层次的多个结点中,无法使用差值包围盒来准确描述物体的移动行为。更重要的是,当一个面片移动时,很可能穿过结点的分割平面,引起面片与结点所属关系发生变化,如图1(c)中的面片B。因此,按照原有的KD结构进行绘制可能产生错误的遍历和相交操作,最终影响绘制的性能。
已有的方法多是针对基于对象划分的BVH结构而设计,尽管能够在具有规则运动行为的场景中使用线性插值的方法有效地产生紧密的结点包围盒,但是不能用来解决基于空间划分的层次结构(如KD树)进行运动模糊效果的绘制。在MSBVH[5]结构中,由于SBVH本质上仍然是一种类似BVH结构的场景组织方法,因此它解决的依然是基于对象划分方式的场景结构的包围盒差值方法,并不适用于基于空间划分方式的场景结构,如KD树。
此外,一些针对复杂场景的实时绘制技术为了提高绘制速度并减少存储空间,对场景常使用多层次细节描述(level of detail)[10],根据对象在显示空间中所处的位置和重要度,决定非重要对象的面数和细节度。运动模糊效果在突出对象运动行为、减弱图片闪动现象的同时,对于一些含有运动范围较广的对象,其场景细节描述的要求并不高,而这类场景往往具有较强的运动模糊效果。
已有的场景多层次细节描述算法多是根据对象在空间所处的位置、与视点之间的关系、与动态存储之间的关系[11]、光线相交的密度和相似度[10]等角度来设计,并未考虑运动模糊效果对细节描述的要求以及面片运动行为对细节表现的影响。
发明内容
本发明的目的是针对上述问题,提供一种面向运动模糊的场景空间划分方法,解决如何高效地在基于空间划分的加速结构KD树上进行正确的运动模糊效果的绘制;并针对具有较高运动量的场景,设计基于运动模糊效果强度的多层次细节表示方法,来加速场景组织和绘制过程。
本发明根据运动模糊的特点以及对场景组织结构的影响,通过设计合理的高质量加速结构来降低运动模糊效果的计算复杂度,提高场景组织的有效性,最终提升运动模糊效果的绘制性能,促进高级图形绘制效果在实时图形绘制系统中的应用。具体来说,包含如下两方面:1)在基于空间划分的层次结构中,有效地解决运动面片对层次结构的破坏,维持层次结构的有效性和正确性。2)在场景组织结构中,结合运动模糊效果对细节描述的要求以及面片运动行为对细节表现的影响,来计算运动模糊效果的强度。
本发明为实现上述目的所采用的技术方案是:一种面向运动模糊的场景空间划分方法,包括场景组织和面片细分两部分:
(1)场景组织(构造面向移动面片的空间层次结构)
在不改变现有层次结构特征的前提下,在基于空间维度的层次结构上表示时间维度上的信息。
根据面片和分割平面之间的位置关系,基于照相机移动和基于对象移动的运动模糊效果两个层面来解决这个问题:
第一种,理想的情况是在整个运动过程中(从T=0到T=1),场景中所有面片与层次结构之间的相对位置关系保持不变,时间维度上的面片几何信息可以直接映射到该时刻下的空间坐标位置,而时间维度上的结点分割面位置可以通过线性插值进行计算,得到相应的空间坐标位置;
第二种,在基于对象移动的运动模糊效果中,场景中的一些对象可能在运动时间范围内发生局部相对运动;对面片添加时间属性,记录面片包含在该结点中的起止时间(T in和T out),初始条件下为T in=0和T out=1,如果面片不穿过分割平面,将一直保持此初始条件不变;依次对分割平面所产生的两个子结点中的每个面片进行扫描,计算面片在(T in,T out)区间内的移动范围,如果出现面片穿入或者穿过分割平面到另一子结点中,记录该面片穿越分割平面时的时间点T C,并更新相应的T in和T out,调整相应结点的面片信息;
在遍历阶段,当前正在遍历该叶子结点的光线不需要与结点内的所有面片逐一做相交计算,只需要根据在光线产生阶段所随机分配到的时间点,与时间属性区间里包含此时间点的面片做求交测试;
基于时间属性的划分策略:
使用面片所属该结点时的时间区间的差值来替代原有方法中简单的数量增加,进而估算光线与结点的相交花费。
所述(1)场景组织中 基于时间属性的场景划分:在计算左右子结点所含的面片数量时,如果穿越分割平面的面片的时间属性是(T in,T out),且穿越分割平面的时刻是T C,即面片分别在(T in,T C)和(T C,T out)的两个时间区间内被分别包含在左右子结点内,则使用(T C-T in)和(T out-T C)来分别代替原有模型中的数量1,如式(1)所示:
式(1)
在式(1)中,和分别代表相应左右子结点所含的面片数量;SA(N l)、SA(N r)分别表示左、右子结点的表面积,SA(N)表示父结点的表面积,KT表示对当前父结点进行遍历所产生的花费,K I表示相交操作所产生的花费。选取最优的分割平面位置,使所得到的SAH花费CP最小,或者K I×n的花销最小,这时n为当前结点所含的面片数量;
(2)面片细分,即基于运动模糊强度的多层次细节表示:
假定在进行基础的加速结构构造时所使用的面片是粗层次(coarse level)面片(如Bezier曲面等),且能细分成微多边形或者三角形,使用式(2)来具体确定细节层次:
M l = k × ( O/ S ) × R d 式(2)
在式(2)中,光线微分R d是在光线跟踪算法里用来计算多分辨率Mesh的技术[11],k作为调节系数,使Ml值更加合理,并最终作为细节选择的依据。通过使用k ×(O/S)来对R d的值进行调整,以求得更合理的面向运动模糊效果的细节层次。其中,k ×(O/S)的值越小,说明场景对象具有较低运动量,需要更细的面片表示;而k ×(O/S)的值越大,则说明场景对象具有较高的运动量,只需要较粗的面片表示即可。
本发明与同类相比具有显著的特点,具体详细说明如下:
(1)面向移动面片的空间层次结构
移动面片在空间层次结构中的处理:
为了保持现有空间层次结构的有效性和优点,本发明在不改变现有层次结构特征的前提下,在基于空间维度的层次结构上表示时间维度上的信息。根据面片和分割平面之间的位置关系,基于照相机移动和基于对象移动的运动模糊效果两个层面来解决这个问题。
第一,一种理想的情况是在整个运动过程中(从T=0到T=1),场景中所有面片与层次结构之间的相对位置关系保持不变,这种情况经常发生在基于照相机移动的运动模糊效果中。在这种情况下,时间维度上的面片几何信息可以直接映射到该时刻下的空间坐标位置,而时间维度上的结点分割面位置可以通过线性插值进行计算,得到相应的空间坐标位置。
第二,在基于对象移动的运动模糊效果中,场景中的一些对象可能在运动时间范围内发生局部相对运动。如图1所示,(a)表示的是在T=0.5时刻的层次结构,(b)表示的是在T=0到T=1区间内,面片在层次结构内部的移动行为。可以看出,有两个面片在这一时间区间内穿越了分割平面,其所属结点也发生了变化,破坏了空间层次结构。
本发明按照图1(c)所示的方法解决这个问题:对面片添加时间属性,记录面片包含在该结点中的起止时间(T in和T out),初始条件下为T in=0和T out=1,如果面片不穿过分割平面,将一直保持此初始条件不变。依次对分割平面所产生的两个子结点中的每个面片进行扫描,计算面片在(T in,T out)区间内的移动范围,如果出现面片穿入或者穿过分割平面到另一子结点中,记录该面片穿越分割平面时的时间点T C,并更新相应的T in和T out,调整相应结点的面片信息。为了减少新生成的带有时间属性的面片给存储带来的额外开销,在结点的面片信息里只记录面片的ID、T in和T out信息。
在遍历阶段,叶子结点内的面片的时间属性可能各不相同,为了减少相交计算的花费,当前正在遍历该叶子结点的光线不需要与结点内的所有面片逐一做相交计算,只需要根据在光线产生阶段所随机分配到的时间点,与时间属性区间里包含此时间点的面片做求交测试。
基于时间属性的场景划分:
考虑到面片的移动性,为了能够获得一个更准确的分割平面位置,本发明从相交花费的计算方式上,针对时间属性的区间特性,修改原有SAH花费模型中对结点所含面片数量的计算方法。在原有的SAH花费模型中,如果面片属于某一结点,则该结点所计算的面片数量增加一个。但是对于移动面片,可能只是某一时间区间内属于该结点。
为了使场景划分策略所计算出来的花费更加准确,本发明使用面片所属该结点时的时间区间的差值来替代原有方法中简单的数量增加,进而估算光线与结点的相交花费。也就是说,在计算左右子结点所含的面片数量时,如果穿越分割平面的面片的时间属性是(T in,T out),且穿越分割平面的时刻是T C,即面片分别在(T in,T C)和(T C,T out)的两个时间区间内被分别包含在左右子结点内,则使用(T C-T in)和(T out-T C)来分别代替原有模型中的数量1,如式(1)所示。
在式(1)中,和分别代表相应左右子结点所含的面片数量;SA(N l)、SA(N r)分别表示左、右子结点的表面积,SA(N)表示父结点的表面积,K T表示对当前父结点进行遍历所产生的花费,K I表示相交操作所产生的花费。选取最优的分割平面位置,使所得到的SAH花费CP最小,或者K I×n的花销最小,这时n为当前结点所含的面片数量。
(2)基于运动模糊强度的多层次细节表示:
传统的多层次细节表示算法利用光线和物体对象之间的位置和重要度关系,选择适当的对象面数和细节度,减少不必要的计算和存储,进而加速绘制计算。这里假定在进行基础的加速结构构造时所使用的面片是粗层次(coarse level)面片(如Bezier曲面等),且能细分成微多边形或者三角形,具体的算法可参见文献[10]。
设计基于运动模糊强度的多层次细节表示算法,需要考虑在运动时间区间内,场景物体在对象空间内的运动范围、在屏幕空间相应的距离映射以及光线微分三个因素(分别用O、S、R d来表示),判断运动模糊效果在当前时间区间内是否强烈,使运动范围较广或者离光线较远的对象可以适当减少面片数和细节度,并使用式(2)来具体确定细节层次:
M l = k × ( O/ S ) ×R d 式(2)
在式(2)中,光线微分Rd是在光线跟踪算法里用来计算多分辨率Mesh的技术[11],k作为调节系数,使M l值更加合理,并最终作为细节选择的依据。通过使用k ×(O/S)来对R d的值进行调整,以求得更合理的面向运动模糊效果的细节层次。其中,k ×(O/S)的值越小,说明场景对象具有较低运动量,需要更细的面片表示;而k ×(O/S)的值越大,则说明场景对象具有较高的运动量,只需要较粗的面片表示即可。
换一个角度说,在运动时间区间内,如果场景在对象空间内的运动范围O保持不变,则对象在屏幕空间相应的距离映射越大,需要更多的细节表示;如果场景在屏幕空间相应的距离映射S保持不变,则对象在对象空间内的运动范围O越大,需要较粗的细节层次即可。
附图说明
图1说明了面片在BVH结构和KD树中的移动行为对加速结构层次关系所造成的影响。
图2是在照相机移动条件下,使用BVH和MBKD在不同移动速度下对场景Ben和Hairball遍历次数的比较。
图3是在照相机移动条件下,使用BVH和MBKD在不同移动速度下对场景Ben和Hairball相交次数的比较。
图4是在几何对象移动条件下,使用BVH和MBKD在不同移动帧下对场景Ben和Hairball遍历次数的比较。
图5是在几何对象移动条件下,使用BVH和MBKD在不同移动帧下对场景Ben和Hairball相交次数的比较。
具体实施方式
下面结合具体实施方式对本发明作进一步详细说明,但本发明并不局限于具体实施例。
一种面向运动模糊的场景空间划分方法,包括场景组织和面片细分两部分:
1. 场景组织
针对基于空间划分的层次结构很难准确计算差值包围盒的情况,对于破坏空间层次结构的面片,根据时空维度信息在空间层次结构中的转化关系,并基于照相机移动和基于对象移动两个层面,维持层次结构的正确性和有效性。 具体步骤如下:
首先,为了处理在运动过程中破坏层次结构的面片,结合时空维度信息转化来定义面片的时间属性,判断和处理对层次结构产生影响的移动面片;
第二,由于运动的面片在构造过程中存在位置不确定性,同时在运动过程中存在相关性,使用基于时间属性的场景划分策略,使对场景进行遍历和相交操作的花费达到一个合理的平衡点。
上述方法中涉及到一个问题,即如何计算移动中的分割平面的位置。为了不改变当前层次结构而维持其有效性,拟根据分割平面和结点包围盒的位置相对关系,计算相应时间点分割平面的位置。但是,在BVH结构中所使用的传统的包围盒线性插值方法并不适用于KD树中任意时间点的结点包围盒求解。这里,拟通过下面的式(3)来计算在KD树中结点在T=ti时刻的包围盒:
在式(3)中,已知三种包围盒的大小,分别是结点在T=0.5时刻的面片包围盒{B min, B max}(面片包围盒是指该结点内所有面片形成的几何包围盒,通常要大于在KD树构造过程中通过空间切割所形成的结点包围盒{C min, C max}),在T=ti时刻的面片包围盒{F min, F max},以及在T=0.5时刻的结点包围盒{C min, C max}。由此,就可以通过式(3)计算出在T=ti时刻的KD树结点包围盒。最后,通过已知的在T=0.5时刻KD树结点包围盒和分割平面之间的位置相对关系计算相应的在T=ti条件下分割平面的位置。考虑到移动面片和分割平面所存在的相对速度关系,只需要计算在T=0和T=1条件下结点分割平面的位置,进而获得分割平面的移动速度,最后通过移动面片和分割平面之间的相对运动关系,来计算移动面片穿过分割平面的时间。
需要注意的是,由于对面片增加了时间属性,可能导致具有不同时间属性的面片在多个结点存在引用,这增加了在进行SAH花费计算时所需要的采样测试点数量。为了减少采样测试点的数量,只采样时间属性为(0,1)的面片,并使用bin[12]方法来减少排序所引起的开销,其中每个bin的大小并不是固定的。通过上述方法,进一步加快SAH花费的计算效率。
与通常的加速结构构造方式一样,依据花费计算公式对加速结构结点进行递归的构造,直到分割结点的花费大于与结点内所有面片逐个进行相交计算所产生的花费,或者结点内的面片数少于预先设定的阈值。
2. 面片细分
针对运动模糊效果较深的对象可能对几何细节表现要求较低的情况,本发明基于运动模糊强度,从场景对象在对象空间内的运动范围、在屏幕空间相应的距离映射以及光线微分(ray differentials)[11]三个因素进行多层次细节的面片表示,通过选择合理的面片细节来进一步提高场景组织的有效性,进而加速场景组织过程和绘制过程。
设计基于运动模糊强度的多层次细节表示算法,考虑在运动时间区间内,场景物体在对象空间内的运动范围、在屏幕空间相应的距离映射以及光线微分三个因素(分别用O、S、Rd来表示)。在式(2)中,在实际应用中,需要预先设定场景几何可表示的细节层数,并根据这个层数分段设置k ×(O/S)的区间值,最终与光线微分Rd相结合,选取适当的细节层次。
O和S的值都可以根据数学关系计算出来,其中O/S的值小于1,k ×(O/S)作为运动模糊强度的数学化描述方法,与在光线跟踪中常用的细节表示技术光线微分相结合,从而更准确地描述所需要的场景几何的细节度是可行的。
在实验部分,选择在Intel Core 2 Duo E8400上实现MBKD结构相应的算法。这里选取的比较对象是传统的BVH结构,测试四个重要的数据:包括全部光线在加速结构中进行遍历操作的次数、相交操作的次数以及使用的构造时间和绘制时间。实验所选用的测试场景分别为Hairball、Ben、Toasters,含有面片数分别为389K、78K、11K,并使用Bullet物理引擎库[13]对Hairball场景进行处理,以产生更加不规则的运动路径。
首先选择Ben和Hairball场景来分别比较照相机移动和几何对象移动两种条件下进行遍历操作和相交操作的次数。在照相机移动的条件下,场景中各个面片的相对位置关系是保持不变的,并且场景中每个面片的移动速度是保持一致的。在测试过程中,固定所有几何对象的移动速度或相机移动的速度,然后将场景中各面片的移动速率逐渐提高,直到原来的八倍(从速度= 0.5提高到速度 = 4,这些速率值均为常量,表明了它们之间的相对关系)。如图2和图3所示,实验表明几何对象移动速度的均匀增加,作为一种线性运动关系,不会对BVH和MBKD结构的质量造成破坏。
另一方面,在几何对象移动的条件下,场景中每个面片可能具体不同的移动速度,因此这种非线性运动可能会出现破坏原有加速结构层次关系的情况。如图4和图5所示,对于Ben场景,不断变化场景中各个面片的移动速度在BVH结构中不会引起明显的遍历操作和相交操作的次数的增加。然而,对于Hairball场景,在BVH结构中产生了更多的遍历操作和相交操作次数。相对于Ben场景,在Hairball场景中包含更多的不规则运动面片,实验结构表明,BVH结构在这类场景中出现了性能的下降和质量的降低。而对于MBKD,面片移动不规则性的增加并没有对MBKD的性能造成明显的影响。虽然遍历操作和相交操作的次数开始增加,但相比BVH结构,仍然获得了较好的渲染性能。
为了进一步验证MBKD结构在渲染运动模糊场景下的优势,这里给出了KD-tree和BVH在构造时间和渲染时间的比较,并据此进一步比较使用基于差值方法的BVH结构和MBKD结构进行运动模糊效果绘制在构造时间和渲染时间方面的比较。如表1所示,KD-tree和BVH在构建时间和渲染时间之间进行了一些折中,与BVH相比,KD-tree需要更多的构建时间来构建更高质量的加速结构,但花费了较少的渲染时间。表2显示了MBKD和使用基于差值方法的BVH结构在运动模糊效果时的遍历操作和相交操作次数结果以及它们的构建时间和渲染时间,并在表3给出了它们的相对比较结果。
由上述结果可知, MBKD结构相比于以前的方法能够获得更快的渲染时间,这对于实时渲染系统来说是非常重要的。同时,这也是传统KD-tree的重要特征,因为MBKD结构保留了KD-tree的重要层次特征。注意到,构造时间是传统KD-tree的不足,与基于插值方法的BVH结构相比,MBKD同样有这一相似的性能问题。表1-3的数据表明,有关KD-tree和BVH以及MBKD和插值BVH之间的性能提升和降低的比较基本是一致的。
表1:在不考虑运动模糊效果的情况下,KD-tree和BVH之间的遍历次数、相交次数、构造时间和渲染时间的比较。
表2:基于运动模糊效果的绘制,使用MBKD和基于插值方法的BVH结构所产生的遍历次数、相交次数、构造时间和渲染时间的比较。
表3:MBKD和使用插值方法的BVH之间在绘制运动模糊效果时关于遍历次数、相交次数、构造时间和渲染时间的相对比较。
参考文献
[1] 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.
[2] I. Wald, C. Benthin, A. Dietrich, et al. Interactive distributed ray tracing on commodity PC clusters [C]. Proceedings of EuroPar, Klagenfurt, Austria, 2003: 499-508.
[3] A. S. Glassner. Spacetime ray tracing for animation [J]. IEEE Computer Graphics and Applications, 1988, 8(2): 60-70.
[4] J. Olsson. Ray-tracing time-continuous animations using 4D KD-Trees [CP/DK]. Lund University, 2007.
[5] L. Grunschlo?, M. Stich, S. Nawaz, et al. An efficient acceleration data structure for ray traced motion blur [C]. Proceedings of the Conference on High Performance Graphics, Vancouver, BC, Canada, 2011: 65-70.
[6] 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.
[7] B. MORA. Naive ray-tracing: A divide-and-conquer approach [J]. ACM Transactions on Graphics, 2012, 30(5): 33-37.
[8] V. Havran. About the relation between spatial subdivisions and object hierarchies used in ray tracing [C]. Proceedings of Conference SCCG Budmerice, Slovakia, 2007: 55-60.
[9] T. Karras. Maximizing parallelism in the construction of BVHs, Octrees, and k-d Trees [C]. Proceedings of High Performance Graphics, Paris, France, 2012: 33-37.
[10] J. Hanika, A. Keller and H. P. A. Lensch. Two-level ray tracing with reordering for highly complex scenes [C]. Proceedings of Graphics Interface, Ottawa, Ontario, Canada, 2010: 145-152.
[11] P. Djeu, W. Hunt, R. Wang, et al. Razor: An architecture for dynamic multiresolution ray tracing [J]. ACM Trans. Graph., 2011, 30(5): 1-26.
[12] I. Wald, P. Slusallek, C. Benthin, et al. Interactive rendering with coherent ray tracing [J]. Computer Graphics Forum, 2001, 20(3): 153-164.
[13] Bullet. Bullet 3D game multiphysics library [EB/OL]. [2011]. http://code.google.com/p/bullet/.
Claims (3)
1.一种面向运动模糊的场景空间划分方法,包括场景组织和面片细分两部分,其特征是:
(1)场景组织,即面向移动面片的空间层次结构
移动面片在空间层次结构中的处理:
在不改变现有层次结构特征的前提下,在基于空间维度的层次结构上表示时间维度上的信息;
根据面片和分割平面之间的位置关系,基于照相机移动和基于对象移动的运动模糊效果两个层面来解决这个问题:
第一种,理想的情况是在整个运动过程中(从T=0到T=1),场景中所有面片与层次结构之间的相对位置关系保持不变,时间维度上的面片几何信息可以直接映射到该时刻下的空间坐标位置,而时间维度上的结点分割面位置可以通过线性插值进行计算,得到相应的空间坐标位置;
第二种,在基于对象移动的运动模糊效果中,场景中的一些对象可能在运动时间范围内发生局部相对运动;对面片添加时间属性,记录面片包含在该结点中的起止时间(T in和T out),初始条件下为T in=0和T out=1,如果面片不穿过分割平面,将一直保持此初始条件不变;依次对分割平面所产生的两个子结点中的每个面片进行扫描,计算面片在(T in,T out)区间内的移动范围,如果出现面片穿入或者穿过分割平面到另一子结点中,记录该面片穿越分割平面时的时间点T C,并更新相应的T in和T out,调整相应结点的面片信息;
在遍历阶段,当前正在遍历该叶子结点的光线不需要与结点内的所有面片逐一做相交计算,只需要根据在光线产生阶段所随机分配到的时间点,与时间属性区间里包含此时间点的面片做求交测试;
基于时间属性的场景划分:
使用面片所属该结点时的时间区间的差值来替代原有方法中简单的数量增加,进而估算光线与结点的相交花费;
(2) 面片细分,即基于运动模糊强度的多层次细节表示:
假定在进行基础的加速结构构造时所使用的面片是粗层次(coarse level)面片(如Bezier曲面等),且能细分成微多边形或者三角形,使用式(2)来具体确定细节层次:
M l = k × ( O/ S ) × R d 式(2)
在式(2)中,光线微分R d是在光线跟踪算法里用来计算多分辨率Mesh的技术[11],k作为调节系数,使M l值更加合理,并最终作为细节选择的依据;
通过使用k ×(O/S)来对R d的值进行调整,以求得更合理的面向运动模糊效果的细节层次;
其中,k ×(O/S)的值越小,说明场景对象具有较低运动量,需要更细的面片表示;而k ×(O/S)的值越大,则说明场景对象具有较高的运动量,只需要较粗的面片表示即可。
2.根据权利要求1所述的一种面向运动模糊的场景空间划分方法,其特征是:所述(1)场景组织中移动面片在空间层次结构中的处理:第二步在结点的面片信息里只记录面片的ID、T in和T out信息。
3.根据权利要求1所述的一种面向运动模糊的场景空间划分方法,其特征是:所述(1)场景组织中基于时间属性的场景划分:在计算左右子结点所含的面片数量时,如果穿越分割平面的面片的时间属性是(T in,T out),且穿越分割平面的时刻是TC,即面片分别在(T in,T C)和(T C,T out)的两个时间区间内被分别包含在左右子结点内,则使用(T C-T in)和(T out-T C)来分别代替原有模型中的数量1,如式(1)所示:
在式(1)中,和分别代表相应左右子结点所含的面片数量;SA(N l)、SA(N r)分别表示左、右子结点的表面积,SA(N)表示父结点的表面积,K T表示对当前父结点进行遍历所产生的花费,K I表示相交操作所产生的花费;
选取最优的分割平面位置,使所得到的SAH花费CP最小,或者K I×n的花销最小,这时n为当前结点所含的面片数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310706548.3A CN103745455B (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的场景空间划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310706548.3A CN103745455B (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的场景空间划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103745455A true CN103745455A (zh) | 2014-04-23 |
CN103745455B CN103745455B (zh) | 2016-06-15 |
Family
ID=50502470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310706548.3A Active CN103745455B (zh) | 2013-12-20 | 2013-12-20 | 一种面向运动模糊的场景空间划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103745455B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107278315A (zh) * | 2015-02-27 | 2017-10-20 | 高通股份有限公司 | 运动模糊的快速自适应估计以用于相干渲染 |
CN108875401A (zh) * | 2018-04-17 | 2018-11-23 | 安徽师范大学 | 一种基于改进kd树数据结构的隐私保护方法 |
CN110036629A (zh) * | 2016-09-30 | 2019-07-19 | 株式会社尼康 | 拍摄装置、程序以及电子设备 |
CN110458939A (zh) * | 2019-07-24 | 2019-11-15 | 大连理工大学 | 基于视角生成的室内场景建模方法 |
CN115228080A (zh) * | 2022-05-16 | 2022-10-25 | 网易(杭州)网络有限公司 | 游戏场景画面的显示控制方法、装置和电子设备 |
CN115379185A (zh) * | 2018-08-09 | 2022-11-22 | 辉达公司 | 使用可变速率着色的运动自适应渲染 |
CN116433829A (zh) * | 2023-06-09 | 2023-07-14 | 北京全路通信信号研究设计院集团有限公司 | 场景可视化监控方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216954A (zh) * | 2008-01-21 | 2008-07-09 | 浙江大学 | 一种基于分级层次化深度网格的森林绘制方法 |
CN102289839A (zh) * | 2011-08-04 | 2011-12-21 | 天津中科遥感信息技术有限公司 | 一种面向三维数字城市的高效多细节层次渲染方法 |
KR20120090543A (ko) * | 2011-02-08 | 2012-08-17 | 삼성전자주식회사 | 복셀 가시성에 기반한 kd-트리 구성 방법 및 장치 |
CN102968814A (zh) * | 2012-11-22 | 2013-03-13 | 华为技术有限公司 | 一种图像渲染的方法及设备 |
CN103279972A (zh) * | 2013-05-08 | 2013-09-04 | 中国科学院软件研究所 | 一种基于kd树的并行多维自适应采样与重构方法 |
US20130328876A1 (en) * | 2012-06-08 | 2013-12-12 | Advanced Micro Devices, Inc. | Building kd-trees in a depth first manner on heterogeneous computer systems |
-
2013
- 2013-12-20 CN CN201310706548.3A patent/CN103745455B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216954A (zh) * | 2008-01-21 | 2008-07-09 | 浙江大学 | 一种基于分级层次化深度网格的森林绘制方法 |
KR20120090543A (ko) * | 2011-02-08 | 2012-08-17 | 삼성전자주식회사 | 복셀 가시성에 기반한 kd-트리 구성 방법 및 장치 |
CN102289839A (zh) * | 2011-08-04 | 2011-12-21 | 天津中科遥感信息技术有限公司 | 一种面向三维数字城市的高效多细节层次渲染方法 |
US20130328876A1 (en) * | 2012-06-08 | 2013-12-12 | Advanced Micro Devices, Inc. | Building kd-trees in a depth first manner on heterogeneous computer systems |
CN102968814A (zh) * | 2012-11-22 | 2013-03-13 | 华为技术有限公司 | 一种图像渲染的方法及设备 |
CN103279972A (zh) * | 2013-05-08 | 2013-09-04 | 中国科学院软件研究所 | 一种基于kd树的并行多维自适应采样与重构方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107278315A (zh) * | 2015-02-27 | 2017-10-20 | 高通股份有限公司 | 运动模糊的快速自适应估计以用于相干渲染 |
CN107278315B (zh) * | 2015-02-27 | 2020-12-01 | 高通股份有限公司 | 运动模糊的快速自适应估计以用于相干渲染 |
CN110036629A (zh) * | 2016-09-30 | 2019-07-19 | 株式会社尼康 | 拍摄装置、程序以及电子设备 |
CN108875401A (zh) * | 2018-04-17 | 2018-11-23 | 安徽师范大学 | 一种基于改进kd树数据结构的隐私保护方法 |
CN108875401B (zh) * | 2018-04-17 | 2021-11-26 | 安徽师范大学 | 一种基于改进kd树数据结构的隐私保护方法 |
CN115379185A (zh) * | 2018-08-09 | 2022-11-22 | 辉达公司 | 使用可变速率着色的运动自适应渲染 |
CN115379185B (zh) * | 2018-08-09 | 2024-04-02 | 辉达公司 | 使用可变速率着色的运动自适应渲染 |
CN110458939A (zh) * | 2019-07-24 | 2019-11-15 | 大连理工大学 | 基于视角生成的室内场景建模方法 |
CN110458939B (zh) * | 2019-07-24 | 2022-11-18 | 大连理工大学 | 基于视角生成的室内场景建模方法 |
CN115228080A (zh) * | 2022-05-16 | 2022-10-25 | 网易(杭州)网络有限公司 | 游戏场景画面的显示控制方法、装置和电子设备 |
CN116433829A (zh) * | 2023-06-09 | 2023-07-14 | 北京全路通信信号研究设计院集团有限公司 | 场景可视化监控方法、装置、设备及存储介质 |
CN116433829B (zh) * | 2023-06-09 | 2023-08-18 | 北京全路通信信号研究设计院集团有限公司 | 场景可视化监控方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103745455B (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103745455A (zh) | 一种面向运动模糊的场景空间划分方法 | |
Wimmer et al. | Instant Points: Fast Rendering of Unprocessed Point Clouds. | |
Zeng et al. | Octree-based fusion for realtime 3D reconstruction | |
CN102157008B (zh) | 一种大规模虚拟人群实时绘制方法 | |
Bénard et al. | State‐of‐the‐art report on temporal coherence for stylized animations | |
KR102197067B1 (ko) | 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치 | |
Li et al. | Cloning crowd motions | |
KR20140024361A (ko) | 클라이언트 애플리케이션들에서 전이들의 애니메이션을 위한 메시 파일들의 이용 | |
CN109215106B (zh) | 一种基于动态场景的实时光线追踪加速结构的方法 | |
Wand et al. | Multi‐resolution rendering of complex animated scenes | |
US11113878B2 (en) | Screen tile pair-based binocular rendering pipeline process and method | |
CN106815880A (zh) | 动画复用方法和系统 | |
Zach et al. | Time-critical rendering of discrete and continuous levels of detail | |
Frasson et al. | Efficient screen-space rendering of vector features on virtual terrains | |
Grünschloß et al. | MSBVH: An efficient acceleration data structure for ray traced motion blur | |
CN103984944A (zh) | 对一组图像中目标物体进行提取并连续播放的方法和装置 | |
Dey et al. | Procedural feature generation for volumetric terrains using voxel grammars | |
Fischer et al. | Dynamic 3D Gaussian Fields for Urban Areas | |
CN111815736A (zh) | 飞线构建及显示方法和装置,计算机存储介质和电子设备 | |
Baldacci et al. | GPU-based approaches for shape diameter function computation and its applications focused on skeleton extraction | |
Xu et al. | A g-octree based fast collision detection for large-scale particle systems | |
Rivalcoba et al. | Towards urban crowd visualization | |
CN104091361A (zh) | 一种面向运动模糊的层次包围盒设计方法 | |
Legrand et al. | Morton integrals for high speed geometry simplification | |
Semenov et al. | Visualization of Complex Industrial Products and Processes Using Hierarchical Dynamic LODs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |