CN101573729A - 用于多级光线追踪的方法和装置 - Google Patents
用于多级光线追踪的方法和装置 Download PDFInfo
- Publication number
- CN101573729A CN101573729A CNA2007800487769A CN200780048776A CN101573729A CN 101573729 A CN101573729 A CN 101573729A CN A2007800487769 A CNA2007800487769 A CN A2007800487769A CN 200780048776 A CN200780048776 A CN 200780048776A CN 101573729 A CN101573729 A CN 101573729A
- Authority
- CN
- China
- Prior art keywords
- light beam
- geometric database
- ordering
- light
- database
- 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 27
- 238000011156 evaluation Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000931705 Cicada Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003915 cell function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
一种涉及热量管理的方法、装置和系统。该方法包括:产生包括一组光线的光束;针对空间排序的几何数据库评价所述光束,直至所述光束不再能够作为整体而被评价,以便将所述空间排序的几何数据库的一部分排除在进一步考虑之外;指明所述光束不再能够作为整体而被评价处的位置;以及通过针对没有由所述评价排除的所述空间排序的几何数据库执行查询,在所指明的位置处开始,为每一条所述光线遍历所述空间排序的几何数据库。
Description
背景技术
光线追踪(ray tracing)是一种图形渲染技术,它在多种应用和环境中正日益普及。例如,光线追踪可以用于为图形场景计算全局照明解决方案。通常,光线追踪可以用于计算机图形学中,以通过从由光线的位置向量所描述的有利位置(vantage position)沿着由光线的方向向量描述的视线引导一条或多条光线,来确定可见性。为了确定沿着该视线的最接近的可见表面,需要针对与在虚拟场景内的全部几何体的交点来有效地测试光线,并保留最接近的交点。
然而,确定每一条光线与场景的几何体的交点在计算上会是复杂的,并且需要大量资源,从而限制了实时光线追踪解决方案。
附图说明
图1是根据本发明的场景和AS树的示范性图示说明;
图2是根据本文一些实施例的示例性AS树;以及
图3是根据本文一些实施例,被投射穿过一个单元的光线的示例性实例。
具体实施方式
通常,光线追踪包括追踪光线通过加速结构(Acceleration structure,AS)的轨迹,所述加速结构表示对象在场景中的分布。AS可以是在场景中的对象的空间排序的数据库表示。与独立地基于每一条光线的遍历相反,本文的实施例提供了依赖于遍历AS的光束(beam)的对AS的光线追踪遍历。所述光束表示多条光线的集合或组。在一些实施例中,光线的分组基于组成该光束的光线的共享特性的共同性。在一些实施例中,包括在光束中的光线集合或组越大,由本文的处理和系统所获得的每条光线的工作摊销(amortization)就越大。
图1是根据本文的一些实施例的示范性场景以及对应于该场景的AS的描绘。图1包括场景105和指引到该场景中的光束110。光束110包括不同像素组115(例如16个)。AS 120是场景105的几何学表示。在确定光束110与场景105中的对象的交点,通过从顶部到底部遍历AS 120来查询AS120,从而确定光束110的光线与场景105的对象的交点。根据本文的实施例,针对AS来评价光束,以便确定用于遍历AS的进入点。
在一些实施例中,在对光束的评价操作向下行进通过AS 120的层次结构时,在一些实施例中或者在一些实施例中按照需要,光束可以被细分为子光束或者单条光线。
根据本文的一些实施例,光束110包括适当相干的多条光线的集合,并且使用该光束来遍历AS。随着光束110向下行进通过AS 120,就将AS的一个(或多个)部分排除在进一步考虑之外。这个排除将AS中不再影响最终结果的部分排除在考虑之外。就是说,将场景中不再影响波束的部分(即,确定其不包括与组成光束的光线的任何交点)排除在进一步考虑之外,AS中被保留用以研究的部分越来越小。
继续相对于光束评价AS,直至达到点125,在该点125处,整个光束可能不再作为整体前进。这个位置或点在本文中称为进入点。指明或标记该进入点125,以便进一步的处理。进入点125可以表示这样的点:在该点处,光束110中每一条光线可以进入AS 120。随后使用每一条光线来遍历AS,因为光束作为整体不能前进通过AS。从共同的进入点125开始,可以追踪每一条光线通过AS 120。
在一些实例中,用于表示单条光线对AS的遍历开始点的进入点并不在AS结构的顶部,而是在AS更下面的位置。此外,相对于AS而对光束进行的评价包括排除AS中不再影响遍历结果的部分。因此,光束不必遍历AS的被排除的部分。以此方式,相对于组成光束的光线而查询的AS的部分优选地小于整个AS 120。类似地,使用本文的光束和遍历方法处理对AS120的遍历的计算量可以小于使用单条光线遍历整个AS 120的计算量。
在一些实施例中,组成光束的光线每一条都可以拥有一些共同特性,这些共同特性对应于在被分组到一起而构成光束的多条光线之间的相干性。在一些实施例中,包含在光束中的该组光线每一个都具有以下特性:
(i)对于任意给定的轴对齐的平面,可以计算在平面中包含所有可能的光线/平面交点的矩形。该矩形不必是紧密匹配的。
等式1
(ii)所有光线都在相同方向上(例如,光线方向的x、y和z投影具有相同的符号)。
根据本文的实施例,现在将论述用于为光束确定共同进入点的示范性过程。在一些方案中,这个过程是AS树中可见节点的深度优先(depth-first)遍历,其允许在遇到不对遍历过程的最终结果产生进一步影响的节点时,退出遍历过程。
在初始步骤,使用例如符合以上等式(1)的光束,通过使用视景体裁剪算法(frustum culling algorithm)以深度优先的顺序遍历AS(例如120)。由于在AS的二叉节点处评价光束,因此就将AS中被确定为不与光束相交的所有子节点排除在进一步的处理和考虑之外。
注意,任何视景体裁剪算法都可以用于这个过程的操作中。
此外,AS的所有分支(bifurcation)节点都被存储在堆栈存储器结构中,直至找到具有可能交点的第一个叶子节点。分支节点是那些遍历两个子单元(sub-cell)的节点。在一些实施例中,堆栈存储器结构是后进先出机制。对确定了可能交点的第一个叶子节点进行标明、标记、存储或者表示为候选入口节点。
光束的AS深度优先评价继续在分支堆栈中最顶上的节点开始。如果遇到具有可能交点的另一个叶子节点,则从分支堆栈中取得的这个叶子节点就会成为新的候选入口点。
在(i)分支堆栈为空,及(ii)光束的所有可能的光线都在当前叶子节点内部终止的情况下,关于该AS树的光束评价过程结束,返回当前候选入口点节点作为入口点。在光束的所有可能的光线都在当前叶子节点内部终止的情况下,存在两种可能的情况:(a)叶子具有一些对象,并且满足等式(1)条件的所有光线都在单元内部与所述对象中至少一个相交,或者(b)叶子为空,但位于一些“密封的”对象内部,且满足等式(1)的所有光线或光束都与该叶子的边界框相交。
注意,在相对于光束评价AS树以确定遍历入口点期间,找到某个特定光线与对象的交点不是目的,因为无需在这个处理阶段中定义光束组中的光线。寻找的是相交的可能性。具体地,如果不能排除与满足等式(1)条件的任意光线的交点,那么该交点就可以认为是可能的交点。
参考图2,将讨论AS 200的入口点的一个示范性确定。在节点1开始,评价遵守等式(1)约束的光束。基于等式(1)的条件,只需遍历左侧子单元21。节点21的两个子单元31和32都必须考虑。因此,节点21是如上述的分支节点。将分支节点21存储在分支堆栈中,并且处理前进到节点31,在此忽略了通向节点42的分支。该评价由此继续前进到节点41,它也是分支节点,并且被存储在分支堆栈中。在节点51处忽略了通向节点62的分支。
在叶子节点61处,确定是否存在与叶子61相交的可能性。叶子61是具有可能交点的第一个叶子节点。因此将叶子61标记为候选入口点,并暂停分支堆栈。
对AS的深度优先的评价在分支堆栈中的最顶上的节点处继续进行。由于分支堆栈具有后进先出结构,节点41是下一个要考虑的。从分支堆栈中取出节点41,并且对节点52和63继续进行深度优先的遍历。叶子节点63具有相交的可能性,因此将节点41标记为候选入口点,放弃对在节点64处开始的子树的处理。
随后取出并评价分支堆栈中的下一个节点:节点21。评价从节点21前进到节点32,其具有子节点43和44。忽略节点43,因为它是空的,取得节点44。节点44具有两个叶子,叶子53和叶子54。忽略叶子53,并断定叶子54具有可能的交点。因此,将节点21标记为候选入口点。
由于分支堆栈为空,就将节点21作为入口点返回。光束中受等式(1)约束的所有光线现在可以在节点21处开始对AS树200进行遍历。
图2包括了在该入口点(EP)搜索路径上的节点和在交点(XP)搜索路径上包含的节点的指示。注意在两个遍历过程之间存在不同,因为例如,一个是对光束的共同EP的搜索,另一个是对于光束中每一条光线,从该入口点对该树的遍历,用于寻找光线/三角形XP。例如,在节点21处,XP遍历过程能够排除节点32不再进行进一步的处理,因为光束中所有的光线都已知了,它们只从节点21与单元31相交。然而,EP遍历过程使用视景体特性,它可以(即,可能)与节点32相交,因此需要在寻找入口点时代表光束来遍历两个节点31和32。
在EP遍历过程达到节点64的父节点52时,忽略了节点64,因为节点52不会影响光束入口点的选择。然而,XP遍历过程必须继续进行对节点64、71、72、81和82的遍历,因为可以在节点64、71、72、81和82中找到一些交点。
以此方式,将确定入口点的EP遍历过程显示为忽略无影响的分支。将AS的多个部分从代表光束中所有光线的进一步考虑中忽略可以有效地减小在相反的情况下每条光线执行的总计算量。
在一些实施例中,原始光束可以被进一步细分,并可以使用细分光束相对于AS来完成所继续的遍历,以确定多个子光束入口点或对于所有子光束的最低公共入口点。
通过以例如代表4×4光线截面的光束如此进行,遍历成本的摊销可以减小到每条光线1/16。另外,申请人已经认识到,光束的入口点或者是在或者是非常接近存储或涉及三角形的叶子节点。此外,与使用光线遍历过程的顺序存储器查询密集型相反,通过使用光束遍历AS,总体平台要求主要是计算密集型的。
在一些实施例中,可以在硬件和/或软件实施例中实施并支持本文的多级光线追踪方法。在一些实施例中,与使用从AS的顶部到底部遍历光线的常规光线追踪技术相比,可以减小设备的功耗并且提高整体性能。
光线追踪是基于针对一些空间排序的几何数据库执行的大量的并行几何查询。可以对区间遍历(interval traversal)算法进行扩展以覆盖其他类型的应用,其中它有可能找到并追踪针对专用数据库的特定的一组特性。本领域技术人员会认识到公开文本的实施例不限于浮点数实现。相反地,本发明的实施例可以用各种数据类型来实现,包括但不限于,整数、固定小数点数等。
在一些实施例中,可能希望将特定光线分组在一起(例如在光束中)。在本文的区间遍历算法的一些实施例中,每一个组都可以由距离区间[t0,t1]来表示。最初,将t0设定为从多个光线源到进入整个模型的边界框的入口点之间的全部距离中的最小值。
图3描绘了从公共光源开始、被追踪穿过一个单元的光束的实例。光束405包括被追踪穿过单元410的多条光线。单元410被平面p0分为两个子单元,包括最近的单元c0(415)和最远的单元c1(420)。根据图3,t0是多个距离[oa]、[ob]、[oc]和[od]中的最小值,即为[oa]。类似地,将t1设定为全部出口点的最大距离。因此,t1是[oD]。除了区间[t0,t1]区间之外,还使用了6个额外的值。这些值包括[r0[k],r1[k]],其中每一个k=0,1,2(即,x,y,z方向向量)。例如,如果在分组或光束中的光线具有方向ray[i][k],i=0,1…n,其中n是光线的总数,那么可以如下计算r0[k]和r1[k]:
if(ray[0][k]>0){
r0[k]=min(1/ray[i][k]), i=0…n
r1[k]=max(1/ray[i][k]), i=0…n
}else{
r0[k]=max(1/ray[i][k]), i=0…n
r1[k]=min(1/ray[i][k]), i=0…n
}
浮点区间遍历算法(FITA)要求对于每一个k,全部ray[i][k]值都具有相同的符号(即或正或负)。对于正方向,通过反转该组中全部光线的方向的第k个分量,并确定它们中的最小值(对于r1[k]是最大值),来计算r0[k]。对于负方向则交换这些数值。
在一些实施例中,在每一个遍历步骤中,将区间[t0,t1]用于做出与遍历顺序有关的决定,并随后更新该区间(缩窄当前框)。假定所有光线都具有一个公共光源o[k],且由平面p沿着轴k分割当前单元,那么这个决定就基于计算以下两个浮点值:
d0=(p-o[k])*r0[k];
d1=(p-o[k])*r1[k]; 等式2
通过比较d0、d1、t0和t1的值,决定是否仅遍历最近的子单元、仅遍历最远的子单元或者遍历这两个子单元。随后使用数值[d0,d1]相应地更新区间[t0,t1]。
通过使用上述方案来保持所有方向都为正或都为负,使在等式2中定义的数值d0和d1等于该组光线(光束)到平面的最小距离和最大距离。
在本文的一些实施例中,区间遍历算法的(IITA)的整数变量是基于以下观察的:在遍历步骤期间做出错误决定是可接受的,只要是出于谨慎目的而造成错误的(例如,在光线实际上仅与其中一个子单元相交的情况下,决定遍历两个子单元)。在一些实施例中,在可以获得显著速度优势的情况下,可以在更多计算与处理速度之间做出折衷。
申请人还认识到,同时缩放所有d0、d1、t0和t1的值不会改变遍历算法的速度和精度。
注意,在使用整数运算时,预期的解决方案应提供准确的计算并避免整数溢出。
为了保持精度,可以使用大整数,因为例如在10000与10001之间的相对差异小于在15与16之间的相对差异。仍然,为了避免数值溢出,较小的数会更好。为了同时追求这二者,引入了两个缩放因子,其中INT_MAX是可以表示出的最大整数。(INT_MAX可以对应于系统和设备的规范。)
modelScale=0.5*sqrtf(INT_MAX)/(所有顶部边界框坐标的)max;以及
packetScale=sqrt(INT_MAX)/max(r0[0],r0[1],r0[2],r1[0],r1[1],r1[2]);
相应地,通过使用以下变换,可以将AS(kd-树)中所有分离值p改变为整数表示pint:
pint=floor(p*modelScale);
该变换可以在创建AS树(或者其他预处理操作)时进行。类似的缩放变换可以应用于相机位置值o[k],例如以下的:
oint[k]=ceil(o[k]*modelScale);
依据定义,floor(v)返回小于v的最大整数,ceil(v)返回大于v的最小整数。根据这个定义,得到以下两个不等式:
(pink-oint[k])<modelScale*(p-o[k])
(pink-oint[k]+2>modelScale*(p-o[k]) 等式3
通过使用floor和cell函数,产生了包含经缩放的浮点值的整数区间。可以为每一个帧进行一次pint和oint[k]计算,或者在改变相机位置时进行该计算。
可以用packetScale缩放因子将[r0[k],r1[k]]的值转换为整数。然而,在正r0[k]方向和负r0[k]方向的情况之间加以区别:
if(r0[k]>0){
rint0[k]=floor(r0[k]*packetScale);
rint1[k]=ceil(r1[k]*packetScale);
}else{
rint0[k]=ceil(r0[k]*packetScale);
rint[k]=floor(r1[k]*packetScale);
}
其中,可以在创建分组的光线的同时计算packetScale,即在主遍历循环外部。
通过在等式2中插入整数等效值(integer equivalent),有可能不能确保有保证的且准确的区间,因为在浮点到整数的转换过程中会丢失一些信息。然而,通过使用等式3,可以按照如下重写等式2(整数区间遍历算法):
if(rint0[k]>0){
//两个系数都为正
dint0=(pint-oint[k])*rint0[k];
dint1=(pint-oint[k]+2)*rint1[k];
}else{
//两个系数都为负
dint0=(pint-oint[k]+2)*rint0[k];
dint1=(pint-oint[k])*rint1[k];
}
依据定义,所有pint值都小于0.5*sqrtf(INT_MAX),且对于场景中的相机而言,oint值也受0.5*sqrtf(INT_MAX)约束。这保证了表达式(pint-oint[k])小于sqrtf(INT_MAX)。由于所有rint0[k]和rint1[k]值也受相同值约束,dint0和dint1将不会超过INT_MAX。对于在其中相机可以移出模型边界之外的那些场景,可以相应地修改modelScale。
通过分析整数区间遍历算法,注意到浮点数区间packetScale*modelScale*[d0,d1]总是在整数区间[dint0,dint1]内。这个事实确保了通过使用IITA,在FITA需要遍历两个子单元时,避免了仅遍历一个子单元。然而,存在一些情形,其中在FITA能够仅使用一个子单元时,IITA会要求遍历两个子单元。然而,这虽然会执行一些额外的遍历步骤,但不会引起任何本质问题。以此方式,可以通过仅使用整数运算来提高性能,只要由其更简单的遍历处理实现的收益超过了由不必要的遍历步骤所引起的开销。例如,申请人认识到,额外的开销在0.1%到4.0%之间。
应该意识到,本文公开的IITA处理可以结合本公开文本的多级光线追踪方案一起使用,或者单独使用。
已经参考其具体示范性实施例描述了前述公开文本。然而,显然,在不背离在所附权利要求中阐明的广泛精神与范围的情况下,可以做出各种修改和变化。
Claims (21)
1、一种方法,包括:
产生包括一组光线的光束;
针对空间排序的几何数据库评价所述光束,直至所述光束不再能够作为整体而被评价,以便将所述空间排序的几何数据库的一部分排除在进一步考虑之外;
指明所述光束不再能够作为整体而被评价处的位置;以及
通过针对没有由所述评价排除的所述空间排序的几何数据库执行查询,在所指明的位置处开始,为每一条所述光线遍历所述空间排序的几何数据库。
2、如权利要求1所述的方法,其中,组成所述光束的所述一组光线具有以下特性:
对于任何给定的轴对齐的平面,能够在该平面中计算包含所有可能的光线与平面的交点的矩形;以及
所有所述光线的投影都具有相同的方向符号。
3、如权利要求1所述的方法,其中,针对所述空间排序的几何数据库的对所述光束的所述评价包括:确定所述光束是否与所述空间排序的几何数据库的子节点相交,其中,在不存在相交的情况下排除所述子节点。
4、如权利要求1所述的方法,还包括:
将所述光束细分为细分光束,并且为所述细分光束遍历所述空间排序的几何数据库;以及
针对所述空间排序的几何数据库评价所述细分光束,直至每一个所述细分光束不再能够作为整体而被评价,以便对于进一步考虑,将所述空间排序的几何数据库的一部分排除在考虑之外。
5、如权利要求4所述的方法,其中,至少一个所述细分光束包括一组光线。
6、如权利要求4所述的方法,还包括:通过针对没有排除的所述空间排序的几何数据库执行查询,为所述细分光束中的每一条光线遍历所述空间排序的几何数据库。
7、如权利要求1所述的方法,其中,用整数区间运算执行所述评价。
8、一种包含指令的机器可访问介质,当所述指令被执行时,使得机器:
产生包括一组光线的光束;
针对空间排序的几何数据库评价所述光束,直至所述光束不再能够作为整体而被评价,以便将所述空间排序的几何数据库的一部分排除在进一步考虑之外;
指明所述光束不再能够作为整体而被评价处的位置;以及
通过针对没有由所述评价排除的所述空间排序的几何数据库执行查询,在所指明的位置处开始,为每一条所述光线遍历所述空间排序的几何数据库。
9、如权利要求8所述的介质,其中,组成所述光束的所述一组光线具有以下特性:
对于任何给定的轴对齐的平面,能够在该平面中计算包含所有可能的光线与平面的交点的矩形;以及
所有所述光线的投影都具有相同的方向符号。
10、如权利要求8所述的介质,其中,针对所述空间排序的几何数据库的对所述光束的所述评价包括:确定所述光束是否与所述空间排序的几何数据库的子节点相交,其中,在不存在相交的情况下排除所述子节点。
11、如权利要求8所述的介质,进一步包括指令,使得机器:
将所述光束细分为细分光束,并且为所述细分光束遍历所述空间排序的几何数据库;以及
针对所述空间排序的几何数据库评价所述细分光束,直至每一个所述细分光束不再能够作为整体而被评价,以便对于进一步考虑,将所述空间排序的几何数据库的一部分排除在考虑之外。
12、如权利要求11所述的介质,其中,至少一个所述细分光束包括一组光线。
13、如权利要求11所述的介质,还包括:通过针对没有排除的所述空间排序的几何数据库执行查询,为所述细分光束中的每一条光线遍历所述空间排序的几何数据库。
14、如权利要求8所述的介质,其中,用整数区间运算执行所述评价。
15、一种系统,包括:
存储器,其包括数据库;以及
控制器,其连接到所述存储器,其中,所述控制器可操作用以:
产生包括一组光线的光束;
针对空间排序的几何数据库评价所述光束,直至所述光束不再能够作为整体而被评价,以便将所述空间排序的几何数据库的一部分排除在进一步考虑之外;
指明所述光束不再能够作为整体而被评价处的位置;以及
通过针对没有由所述评价排除的所述空间排序的几何数据库执行查询,在所指明的位置处开始,为每一条所述光线遍历所述空间排序的几何数据库。
16、如权利要求15所述的系统,其中,组成所述光束的所述一组光线具有以下特性:
对于任何给定的轴对齐的平面,能够在该平面中计算包含所有可能的光线与平面的交点的矩形;以及
所有所述光线的投影都具有相同的方向符号。
17、如权利要求15所述的系统,其中,针对所述空间排序的几何数据库的对所述光束的所述评价包括:确定所述光束是否与所述空间排序的几何数据库的子节点相交,其中,在不存在相交的情况下排除所述子节点。
18、如权利要求15所述的系统,还包括指令以使得机器:
将所述光束细分为细分光束,并且为所述细分光束遍历所述空间排序的几何数据库;以及
针对所述空间排序的几何数据库评价所述细分光束,直至每一个所述细分光束不再能够作为整体而被评价,以便对于进一步考虑,将所述空间排序的几何数据库的一部分排除在考虑之外。
19、如权利要求18所述的系统,其中,至少一个所述细分光束包括一组光线。
20、如权利要求18所述的系统,还包括:通过针对没有排除的所述空间排序的几何数据库执行查询,为所述细分光束中的每一条光线遍历所述空间排序的几何数据库。
21、如权利要求15所述的系统,其中,用整数区间运算执行所述评价。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/648,116 | 2006-12-29 | ||
US11/648,116 US7755628B2 (en) | 2006-12-29 | 2006-12-29 | Method and apparatus for multi-level ray tracing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101573729A true CN101573729A (zh) | 2009-11-04 |
Family
ID=39583229
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800487769A Pending CN101573729A (zh) | 2006-12-29 | 2007-12-14 | 用于多级光线追踪的方法和装置 |
CNA2007103073659A Pending CN101256675A (zh) | 2006-12-29 | 2007-12-28 | 用于多级光线跟踪的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007103073659A Pending CN101256675A (zh) | 2006-12-29 | 2007-12-28 | 用于多级光线跟踪的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7755628B2 (zh) |
EP (1) | EP2102810A4 (zh) |
KR (1) | KR101031392B1 (zh) |
CN (2) | CN101573729A (zh) |
BR (1) | BRPI0720987A2 (zh) |
TW (1) | TWI360060B (zh) |
WO (1) | WO2008082926A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101536197B1 (ko) * | 2008-02-27 | 2015-07-13 | 삼성전자주식회사 | 3차원 영상 프로세서 및 프로세싱 방법 |
US8984447B2 (en) | 2011-03-11 | 2015-03-17 | Oracle International Corporation | Comprehensibility of flowcharts |
US9390545B2 (en) | 2012-05-04 | 2016-07-12 | Samsung Electronics Co., Ltd. | Apparatus and method for traversing hierarchical acceleration structure |
KR102110819B1 (ko) | 2013-05-08 | 2020-05-15 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
KR102219289B1 (ko) * | 2014-05-27 | 2021-02-23 | 삼성전자 주식회사 | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 |
KR102252375B1 (ko) * | 2014-09-18 | 2021-05-14 | 삼성전자주식회사 | 광선-노드 교차검사를 수행하는 방법 및 장치 |
US9984492B2 (en) * | 2015-04-02 | 2018-05-29 | Qualcomm Incorporated | Efficient hierarchy traversal in ray tracing applications |
CN108230378B (zh) * | 2018-01-29 | 2020-03-20 | 北京航空航天大学 | 一种基于光线追踪的计算全息遮挡处理算法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2831218B2 (ja) | 1992-12-18 | 1998-12-02 | 松下電器産業株式会社 | 画像生成装置 |
GB9424273D0 (en) * | 1994-12-01 | 1995-01-18 | Wrigley Adrian M T | Improvements in and relating to image constrcution |
JPH08255263A (ja) * | 1995-03-16 | 1996-10-01 | Toyota Motor Corp | レイ追跡方法 |
US7548238B2 (en) * | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
US7495664B2 (en) * | 2000-06-19 | 2009-02-24 | Mental Images Gmbh | Instant ray tracing |
US7952583B2 (en) * | 2000-06-19 | 2011-05-31 | Mental Images Gmbh | Quasi-monte carlo light transport simulation by efficient ray tracing |
US7499053B2 (en) * | 2000-06-19 | 2009-03-03 | Mental Images Gmbh | Real-time precision ray tracing |
WO2002099751A1 (en) | 2001-06-07 | 2002-12-12 | Mental Images Gmbh | Rendering images using a strictly-deterministic methodology for generating a coarse sequence of sample points |
US7098907B2 (en) * | 2003-01-30 | 2006-08-29 | Frantic Films Corporation | Method for converting explicitly represented geometric surfaces into accurate level sets |
WO2005081683A2 (en) * | 2004-02-12 | 2005-09-09 | Pixar | Method and apparatus for multiresolution geometry caching based on ray differentials |
US7348975B2 (en) * | 2004-12-28 | 2008-03-25 | Intel Corporation | Applications of interval arithmetic for reduction of number of computations in ray tracing problems |
-
2006
- 2006-12-29 US US11/648,116 patent/US7755628B2/en not_active Expired - Fee Related
-
2007
- 2007-12-12 TW TW096147365A patent/TWI360060B/zh not_active IP Right Cessation
- 2007-12-14 KR KR1020097013399A patent/KR101031392B1/ko not_active IP Right Cessation
- 2007-12-14 WO PCT/US2007/087679 patent/WO2008082926A1/en active Application Filing
- 2007-12-14 BR BRPI0720987-8A patent/BRPI0720987A2/pt not_active Application Discontinuation
- 2007-12-14 EP EP07865721A patent/EP2102810A4/en not_active Withdrawn
- 2007-12-14 CN CNA2007800487769A patent/CN101573729A/zh active Pending
- 2007-12-28 CN CNA2007103073659A patent/CN101256675A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR101031392B1 (ko) | 2011-04-25 |
EP2102810A1 (en) | 2009-09-23 |
CN101256675A (zh) | 2008-09-03 |
WO2008082926A1 (en) | 2008-07-10 |
US20080158227A1 (en) | 2008-07-03 |
EP2102810A4 (en) | 2010-08-04 |
TWI360060B (en) | 2012-03-11 |
BRPI0720987A2 (pt) | 2014-03-18 |
US7755628B2 (en) | 2010-07-13 |
KR20090091796A (ko) | 2009-08-28 |
TW200844780A (en) | 2008-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101573729A (zh) | 用于多级光线追踪的方法和装置 | |
CN110021072B (zh) | 面向全息测绘的多平台点云智能处理方法 | |
Najdataei et al. | Continuous and parallel lidar point-cloud clustering | |
CN113432600A (zh) | 基于多信息源的机器人即时定位与地图构建方法及系统 | |
Kim et al. | GP-ICP: Ground plane ICP for mobile robots | |
CN116592897B (zh) | 基于位姿不确定性的改进orb-slam2定位方法 | |
Huang et al. | An online multi-lidar dynamic occupancy mapping method | |
Yijun et al. | A fast bi-directional A* algorithm based on quad-tree decomposition and hierarchical map | |
CN113570629A (zh) | 去除动态物体的语义分割方法及系统 | |
CN111736167B (zh) | 一种获取激光点云密度的方法和装置 | |
Khoche et al. | Semantic 3d grid maps for autonomous driving | |
Xu et al. | Bifocal-binocular visual SLAM system for repetitive large-scale environments | |
CN113721969A (zh) | 一种基于多尺度空间矢量数据级联更新方法 | |
Martinek et al. | Lidar-based deep neural network for reference lane generation | |
Ouyang et al. | Semantic slam for mobile robot with human-in-the-loop | |
Su et al. | SLIBO-Net: Floorplan Reconstruction via Slicing Box Representation with Local Geometry Regularization | |
Rozsa et al. | Immediate vehicle movement estimation and 3D reconstruction for Mono cameras by utilizing epipolar geometry and direction prior | |
CN101144711A (zh) | 多关联工程图环境下全局坐标的自动定位方法 | |
CN115930933A (zh) | 一种基于集群控制的多智能体协同建图方法 | |
CN101297325A (zh) | 用于降低计算次数的区间算法在射线跟踪问题中的应用 | |
CN113671530B (zh) | 位姿确定方法、装置及存储介质和电子设备 | |
CN114510053A (zh) | 机器人规划路径校验方法、装置、存储介质及电子设备 | |
CN114511590A (zh) | 基于单目视觉3d车辆检测与跟踪的路口多引导线构建方法 | |
Ma et al. | Monocular 3D lane detection for Autonomous Driving: Recent Achievements, Challenges, and Outlooks | |
Baciu et al. | Semantic 3D obstacle detection using an enhanced probabilistic voxel octree representation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091104 |