光线跟踪设备和方法

文档序号:7911459阅读:185来源:国知局
专利名称:光线跟踪设备和方法
技术领域
所述技术通常涉及三维(3D)图形处理,尤其是,涉及一种光线跟踪设备和方法。
背景技术
3D图形技术在计算系统中使用3D几何数据表示,在多个行业被广泛采用,例如, 媒体和游戏产业。一般来说,由于需要大量的计算,3D图形技术需要一个单独的高性能处理
ο尤其是,根据处理器近期的发展,光线跟踪技术已经开发出了非常逼真的3D图形技术,能够模拟例如反射、折射和阴影等光效。

发明内容
在一些实施方式中,三维(3D)图形的光线跟踪设备包括中央处理单元(CPU),其用于构造静态对象的第一加速结构(AS)并通过对第一动态对象执行细节层次(LOD)操作而创建第二动态对象;以及光线跟踪内核,其基于所述第一 AS和所述第二动态对象的第二 AS来执行光线跟踪。所述CPU或所述光线跟踪内核构造所述第二动态对象的所述第二 AS。在一些实施方式中,3D图形的光线跟踪设备包括存储器,其存储静态对象的第
一AS和第二动态对象(所述第二动态对象是通过对第一动态对象执行细节层次(LOD)操作而创建的)的第二 AS ;以及光线跟踪内核,其基于所述第一 AS和第二 AS来执行光线跟
S示ο在一些实施方式中,3D图形的光线跟踪方法包括以下步骤构造静态对象的第一 AS ;通过对第一动态对象执行LOD操作而创建第二动态对象;构造所述第二动态对象的第
二AS ;以及基于所述第一 AS和所述第二动态对象的所述第二 AS来执行光线跟踪。可以理解的是,尽管第一、第二等术语此处被用来描述不同的部件,但这些部件并不被这些术语所限定。这些术语用来将一个部件与另一个区分开来。例如,在不背离本发明的范围的情况下,第一部件可被称为第二部件,类似的,第二部件可被称为第一部件。此处使用的词语“和/或”包括任意和所有的一个或多个相关列出的元件的组合。可以理解的是,当一个部件被指“连接”或“耦接”到另一个部件时,它可以是直接连接或耦接到另一个部件或存在经由中间的部件。相反地,当一个部件被指“直接连接”或 “直接耦接”到另一个部件时,其中没有中间部件。其他用于表述部件之间关系的词使用相同的方式被解释(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等)。此处使用的术语用于描述特定的实施方式而并不意图对发明进行限制。在此处使用的单数形式意图同样包括复数形式,除非上下文明确指示相反。进一步需要理解的是,当在此处使用术语“包括”和/或“包含”时,说明了所述特征、要件、步骤、操作、部件和/或组件的存在,但不排除其中存在或增加一个或多个其他的特征、要件、步骤、操作、部件、组件和/或组。除非相反定义,此处使用的所有术语(包括技术和科学术语)都具有该发明所属领域的普通技术人员一般理解的相同的含义。进一步需要理解的是,术语,例如在通常使用的字典中定义的术语,被解释为具有和相关领域的上下文中具有的含义相一致的含义,并不被解释为理想化或过度形式的含义,除非此处明确地如此定义。需要注意的是,在一些可选的实施方式中,模块中的功能/动作发生的顺序可能与流程图中的不同。例如,显示的两个连续的模块实际可能被本质上并发地执行或有时模块被以相反的顺序执行,取决于包括的功能/动作。在下文中,将结合附图在细节上对本发明进行说明。图1是示出根据所述技术的示例性实施方式的光线跟踪设备100的框,图2是示出图1中的光线跟踪设备100的操作过程的流程图。参照图1,光线跟踪设备100包括中央处理单元(CPU) 110、光线跟踪内核120、系统存储器130和本地存储器140。CPU 110构造静态对象的第一加速结构(AS)(步骤210)。图5是示出AS和几何数据的框图。AS包括光线跟踪中通常使用的k深度树(kd树)或包围盒层次(BVH)。图5 假设AS对应于kd树。将对象分为积极移动的静态对象和不积极移动的动态对象。例如,在三维(3D)游戏中,静态对象可能包括背景场景,动态对象可能包括人物。hgo WalcUWilliam R Mark、 Johannes Gunther、Solomon Boulos、Thiago Ize>ffarren Hunt>Steven G Parker禾口Peter Shirley在2007年度欧洲图形学大会(Eurographics)技术现状报告“Mate of the Art in Ray Tracing Animated kenes”中揭示了通过整合所有上述项目来构造AS的方法。对象包括几何数据,并且几何数据包括组成空间的三角形信息。在实施方式中,三角形信息可包括每个三角形的三个点的纹理坐标和常规向量。在实施方式中,在静态对象的情况下,几何数据在构造后可能罕有改变,而在动态对象的情况下,几何数据可能频繁地被构造。kd树500是一种树空间分隔树,并用于光线三角形交叉测试。kd树500包括盒节点510、内部节点520和叶节点530。每一个叶节点530都包括用于指向几何数据中包含的至少一条三角形信息的三角形列表。在实施方式中,如果几何数据中包含的三角形信息是以排列的格式实现的,则每个叶节点530中包含的三角形列表可对应于排列索引。更进一步地,CPU 110通过对第一动态对象执行细节层次(LOD)操作而创建第二动态对象(步骤S220)。随着3D对象远离观众或者根据诸如对象重要性、眼空间 (eye-space)速度或位置的其它标准,LOD计算涉及降低3D对象表示的复杂度。在实施方式中,当所述第一动态对象远离观众时,CPU 110可创建第二动态对象的粗略表示。在另一实施方式中,当所述第一动态对象接近观众时,CPU 110可创建第二动态对象的精确表示。CPU 110或光线跟踪内核120构造所述第二动态对象的第二 AS (步骤230)。由于构造第二 AS的处理在本质上与构造第一 AS的处理相同,因此在此将省略关于它的描述。光线跟踪内核120基于所述第一 AS和所述第二动态对象的所述第二 AS来执行光线跟踪(步骤S240),并最终创建当前帧的图像(步骤S250)。如果动态对象发生改变,则执行步骤S220至S250。现在将描述光线跟踪内核120的操作。
图3和图4是示出光线跟踪过程的图。光线跟踪由光线跟踪内核120递归地执行,并包括(i)眼光线创建过程(步骤 S410), (ii)AS遍历过程(步骤S420),(iii)光线三角形交叉测试过程(步骤S430),和 (iv)阴影和阴影光线创建过程(步骤S440)。在此,阴影光线包括影子光线S、折射光线F 和/或反射光线R。光线跟踪内核120对第一 AS和第二 AS中的每一个执行光线三角形交叉测试。其原因是当前帧的图像可能既包括静态对象又包括动态对象。光线跟踪内核120基于具有在第一 AS或第二 AS中与光线交叉的三角形的AS来执行光线跟踪。也就是,如果在第一 AS或第二 AS中存在与光线交叉的三角形,则光线跟踪内核120对存在该三角形的AS执行光线跟踪。例如,如果第一 AS中存在与光线交叉的三角形,则对所述第一 AS执行光线跟踪。如果第一 AS和第二 AS都有与光线交叉的三角形,则光线跟踪内核120基于光线起点与交叉三角形之间的距离来选择进行光线跟踪的AS。在实施方式中,光线跟踪内核 120可选择光线起点与交叉三角形之间的距离较短的那个三角形。其原因在于具有较短距离的三角形可能对应于更接近于观众的对象。假定眼起点与第一 AS的交叉三角形之间的距离对应于Si,眼起点与第二 AS的交叉三角形之间的距离对应于S2。如果Sl短于S2,则光线跟踪内核120基于所述第一 AS的交叉三角形执行光线跟踪。如果S2短于Si,则光线跟踪内核120基于所述第二 AS的交叉三角形执行光线跟踪。再次参照图1,光线跟踪设备中包括的系统存储器130和本地存储器140彼此分离以提供逻辑区分。如果必要,则系统存储器130和本地存储器140可被集成在一个存储器上。系统存储器130可由CPU 110或光线跟踪内核120访问。系统存储器130存储有包括三角形信息的几何数据132和提供纹理的纹理数据134。所述本地存储器可由光线跟踪内核120访问。所述本地存储器包括提供给静态对象和第二动态对象的几何数据14 和142b、提供给静态对象和第二动态对象的AS 14 和AS 144b、系统存储器130中存储的纹理数据需要的纹理数据146和提供给当前帧的帧缓冲器148。所述技术具有下列优势。但是因为它不是指具体实施方式
应具有所有优势或应只有优势,所以不能理解为所揭示的技术的权利要求范围受所述优势限制。根据示例性实施方式的光线跟踪设备可对动态对象执行LOD操作以有效地处理光线跟踪。从而,光线跟踪设备可以在考虑与观众的距离的同时有效地执行光线跟踪。根据示例性实施方式的光线跟踪设备可利用静态对象和动态对象各自的、不同的 AS执行光线跟踪。从而,光线跟踪设备可高速地构造AS,因此能有效地执行光线跟踪。尽管为说明目的已公开了本发明的优选实施方式,但是,本领域技术人员将意识到各种修改、增加和代替都是可能的,而不脱离附属权利要求书公开的本发明的范围和精神。


图1是示出根据所述技术的示例性实施方式的光线跟踪设备的框图。
图2是示出图1中的光线跟踪设备的操作过程的流程图。图3和4是示出光线跟踪处理的图。图5是示出AS和几何数据的框图。
权利要求
1.一种三维3D图形的光线跟踪设备,该光线跟踪设备包括中央处理单元CPU,其用于构造静态对象的第一加速结构AS,并通过对第一动态对象执行细节层次LOD操作而创建第二动态对象;以及光线跟踪内核,其用于基于所述第一 AS和所述第二动态对象的第二 AS来执行光线跟踪;其中,所述CPU或所述光线跟踪内核构造所述第二动态对象的所述第二 AS。
2.根据权利要求1所述的光线跟踪设备,其中,所述光线跟踪内核对所述第一AS和所述第二 AS中的每一个执行光线三角形交叉测试。
3.根据权利要求2所述的光线跟踪设备,其中,所述光线跟踪内核基于从所述第一AS 和所述第二 AS之间选出并具有与光线交叉的三角形的AS来执行光线跟踪。
4.根据权利要求2所述的光线跟踪设备,其中,如果所述第一AS和所述第二 AS均具有与所述光线交叉的交叉三角形,则所述光线跟踪内核基于所述光线的起点与交叉三角形的之间的距离选择AS,并基于所选择的AS来执行光线跟踪。
5.根据权利要求4所述的光线跟踪设备,其中,所述光线跟踪内核选择所述光线的起点与交叉三角形之间的距离较短的三角形。
6.一种3D图形的光线跟踪设备,该光线跟踪设备包括存储器,其用于存储静态对象的第一 AS和第二动态对象的第二 AS,所述第二动态对象是通过对第一动态对象执行细节层次LOD操作而创建的;以及光线跟踪内核,其用于基于所述第一 AS和所述第二 AS来执行光线跟踪。
7.根据权利要求6所述的光线跟踪设备,其中,所述光线跟踪内核在光线跟踪之前构造所述第二动态对象的所述第二 AS。
8.根据权利要求6所述的光线跟踪设备,其中,所述光线跟踪内核对所述第一AS和所述第二 AS中的每一个执行光线三角形交叉测试。
9.根据权利要求8所述的光线跟踪设备,其中,所述光线跟踪内核基于从所述第一AS 和所述第二 AS之中选择的并具有与光线交叉的三角形的AS来执行光线跟踪。
10.根据权利要求8所述的光线跟踪设备,其中,如果所述第一AS和所述第二 AS均具有与光线交叉的交叉三角形,则所述光线跟踪内核基于所述光线的起点与交叉三角形之间的距离来选择AS,并基于所选择的AS来执行光线跟踪。
11.根据权利要求10所述的光线跟踪设备,其中,所述光线跟踪内核选择所述光线的起点与交叉三角形之间的距离较短的三角形。
12.—种3D图形的光线跟踪方法,该光线跟踪方法包括以下步骤构造静态对象的第一 AS;通过对第一动态对象执行LOD操作而创建第二动态对象;构造所述第二动态对象的第二 AS ;以及基于所述第一 AS和所述第二动态对象的所述第二 AS来执行光线跟踪。
全文摘要
本发明公开了一种光线跟踪设备和方法。一种三维(3D)图形的光线跟踪设备包括中央处理单元(CPU),其用于构造静态对象的第一加速结构(AS),并通过对第一动态对象执行细节层次(LOD)操作而创建第二动态对象;以及光线跟踪内核,其基于所述第一AS和所述第二动态对象的第二AS来执行光线跟踪。所述CPU或所述光线跟踪内核构造所述第二动态对象的所述第二AS。
文档编号H04B1/40GK102439862SQ201080022741
公开日2012年5月2日 申请日期2010年5月19日 优先权日2009年5月29日
发明者尹亨敏, 朴祐赞 申请人:斯里考纳特斯公司, 朴祐赞
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1