CN104616340B - 射线跟踪方法和设备 - Google Patents
射线跟踪方法和设备 Download PDFInfo
- Publication number
- CN104616340B CN104616340B CN201410612697.8A CN201410612697A CN104616340B CN 104616340 B CN104616340 B CN 104616340B CN 201410612697 A CN201410612697 A CN 201410612697A CN 104616340 B CN104616340 B CN 104616340B
- Authority
- CN
- China
- Prior art keywords
- ray
- data
- received
- node
- accelerating structure
- 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.)
- Active
Links
Classifications
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
公开了一种射线跟踪方法和设备。所述射线跟踪方法包括:确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;基于确定的结果,读取存储的加速结构遍历数据,并基于读取的加速结构遍历数据执行图像渲染。
Description
本申请要求于2013年11月4日提交到韩国知识产权局的第10-2013-0132995号韩国专利申请的权益,为了所有目的,所述专利申请的整个公开通过引用合并于此。
技术领域
以下描述涉及一种射线跟踪方法和射线跟踪设备。
背景技术
通常,三维(3D)渲染是将从给定的相机视点查看的图像的3D对象数据进行合成的图像处理。渲染方法的示例包括光栅化和射线跟踪,其中,在光栅化中,在将3D对象投射到屏幕上时产生图像,在射线跟踪中,通过跟踪光经过图像平面中的每个像素的路径来产生图像。
当使用射线跟踪时,由于在渲染结果上反映出光的物理属性(反射、折射和穿透),因此可渲染高质量图像。然而,由于产生和遍历(TRV)将被渲染的场景对象在空间上被划分的加速结构(AS)所需的大量操作和执行射线与基元(primitive)之间的相交测试(IST)所需的大量操作,导致难以使用射线跟踪以进行高速渲染。
发明内容
提供本发明内容从而以简化形式引入对以下在具体实施方式中进一步描述的构思的选择。本发明内容不意图确定要求保护的主题的关键特征或必要特征,也不意图用作确定要求保护的主题的范围的帮助。
在一个总体方面,提供一种射线跟踪方法,包括:确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;基于确定的结果,读取存储的加速结构遍历数据,并基于读取的加速结构遍历数据执行图像渲染。
所述射线跟踪方法还可包括:基于接收的射线的特征信息确定先前射线与接收的射线相似,其中,所述特征信息包括接收的射线的原点和方向。
所述射线跟踪方法还可包括:提取接收的射线的特征信息;基于提取的特征信息确定接收的射线的关键数据。
确定关键数据的步骤可包括:通过基于提取的特征信息搜索数据库来确定接收的射线属于的组,其中,在所述数据库中存储有基于射线的特征信息所设置的组的信息以及组的关键数据;将确定的组的关键数据确定为接收的射线的关键数据。
接收的射线的特征信息可包括接收的射线的原点和方向。组的信息可包括每条射线的原点和方向。确定关键数据的步骤可包括:通过将接收的射线的原点和方向与每条射线的原点和方向进行比较来确定接收的射线属于的组。
确定加速结构遍历数据是否被存储的步骤可包括:将接收的射线的关键数据与存储在遍历缓存中的指示射线的关键数据的标签数据进行比较。读取的步骤可包括:响应于标签数据与接收的射线的关键数据匹配,读取与匹配的标签数据相应的加速结构遍历数据。
加速结构遍历数据可包括以下数据中的至少一个:与先前射线相交的节点集群的数据,与先前射线相交的叶节点的数据,以及与先前射线相交的基元的数据。
响应于加速结构遍历数据包括节点集群的数据,图像渲染的步骤可包括:通过遍历包括在节点集群中的节点来检测与接收的射线相交的叶节点。
响应于加速结构遍历数据包括叶节点的数据,渲染的步骤可包括:测试接收的射线是否与叶节点相交。
所述射线跟踪方法还可包括:响应于加速结构遍历数据包括基元的数据,将基元的数据发送到相交测试单元。
响应于加速结构遍历数据包括基元的数据,渲染的步骤可包括:测试接收的射线是否与基元相交。
在另一总体方面,提供一种射线跟踪设备,包括:遍历缓存,被配置为确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;遍历操作单元,被配置为基于确定的结果,读取存储的加速结构遍历数据,并基于读取的加速结构遍历数据对接收的射线执行加速结构遍历。
所述射线跟踪设备还可包括:关键数据确定单元,被配置为基于接收的射线的特征信息确定先前射线与接收的射线相似,其中,所述特征信息包括接收的射线的原点和方向。
所述射线跟踪设备还可包括关键数据确定单元,所述关键数据确定单元被配置为:提取接收的射线的特征信息;基于提取的特征信息确定接收的射线的关键数据。
关键数据确定单元可包括存储有基于射线的特征信息所设置的组的信息以及组的关键数据的数据库。关键数据确定单元可被配置为:通过基于提取的特征信息搜索所述数据库来确定接收的射线属于的组;将确定的组的关键数据确定为接收的射线的关键数据。
接收的射线的特征信息可包括接收的射线的原点和方向。组的信息可包括每条射线的原点和方向。关键数据确定单元可被配置为:通过将接收的射线的原点和方向与每条射线的原点和方向进行比较来确定接收的射线属于的组。
遍历缓存可被配置为:存储指示射线的关键数据的标签数据以及与标签数据相应的加速结构遍历数据;将接收的射线的关键数据与存储的标签数据进行比较;响应于标签数据与接收的射线的关键数据匹配,读取与匹配的标签数据相应的加速结构遍历数据。
响应于加速结构遍历数据包括节点集群的数据,遍历操作单元可被配置为:遍历包括在节点集群中的节点以检测与接收的射线相交的叶节点。
响应于加速结构遍历数据包括叶节点的数据,遍历操作单元可被配置为:测试接收的射线是否与叶节点相交。
所述射线跟踪设备还可包括:相交测试操作单元,被配置为响应于加速结构遍历数据包括基元的数据,测试接收的射线是否与基元相交。
在另一总体方面,提供一种射线跟踪设备,包括:遍历缓存,被配置为确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;遍历操作单元,被配置为响应于确定加速结构遍历数据被存储在遍历缓存中,基于加速结构遍历数据确定接收的射线是否与加速结构的对象相交。
所述射线跟踪设备还可包括:关键数据确定单元,被配置为确定接收的射线的关键数据。遍历缓存可被配置为:确定所述关键数据是否被存储在遍历缓存中;响应于确定所述关键数据被存储在遍历缓存中,确定与所述关键数据相应的加速结构遍历数据被存储在遍历缓存中。
关键数据确定单元可被配置为:确定接收的射线的原点和方向;在数据库中搜索与所述原点和方向相应的关键数据;将与所述原点和方向相应的关键数据确定为接收的射线的关键数据。
遍历操作单元可被配置为:响应于加速结构遍历数据属于节点集群,确定接收的射线是否与包括在所述节点集群中的节点相交,其中,所述节点集群是从所述节点的最上层节点起的加速结构的节点集群。
遍历操作单元可被配置为:响应于加速结构遍历数据属于加速结构的叶节点,确定接收的射线是否与叶节点相交。
所述射线跟踪设备还可包括:相交测试单元,被配置为响应于加速结构遍历数据属于加速结构的基元,确定接收的射线是否与基元相交。
其他特征和方面将从以下详细描述、附图和权利要求中是显然的。
附图说明
图1是示出一般的射线跟踪方法的示图。
图2是示出射线跟踪系统的示例的框图。
图3是示出加速结构(AS)的示例的示图。
图4是示出射线跟踪方法的示例的示图。
图5是示出渲染连续帧的图像的示例的示图。
图6是示出遍历(TRV)单元的示例的框图。
图7是示出确定射线的关键数据(key data)的方法的示例的示图。
图8是示出射线跟踪方法的示例的流程图。
图9是示出图8的方法的示例的示图。
图10是示出射线跟踪方法的另一示例的流程图。
在整个附图和具体实施方式中,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件(元素)、特征和结构。为了清楚、说明和方便,附图可不成比例缩放,并且可夸大附图中的元件的相对尺寸、比例和描绘。
具体实施方式
提供以下详细描述以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在此描述的系统、设备和/或方法的各种改变、修改和等同形式将对本领域的普通技术人员是显而易见的。所描述的处理步骤和/或操作的进展是示例;然而,除了必需按特定顺序发生的步骤和/或操作之外,步骤和/或操作的顺序不限于在此阐述的顺序,并且可如本领域公知地改变。此外,为了更加清楚和简明,可省略对本领域的普通技术人员公知的功能和构造的描述。
在此描述的特征可以以不同形式实现,并且不应被解释为限于在此描述的示例。相反,提供在此描述的示例,使得本公开将是彻底和完整的,并且在此描述的示例将向本领域的普通技术人员传达本公开的全部范围。
图1是示出一般的射线跟踪方法的示图。图1示出包括光源80、第一对象31、第二对象32和第三对象33的三维(3D)建模。第一对象31至第三对象33是3D对象,但是为了便于描述,在图1中被示为2D对象。在图1中,第一对象31的反射率和折射率大于0,第二对象32和第三对象33的反射率和折射率为0。换言之,第一对象31反射并折射光,而第二对象32和第三对象33既不反射光也不折射光。
在图1中示出的3D建模中,诸如射线跟踪设备的渲染设备可确定视点10以产生3D图像,并且还根据确定的视点10确定屏幕15。在视点10和屏幕15被确定之后,所述设备可从视点10产生针对屏幕15的每个像素的射线。例如,如图1中所示,当屏幕15的分辨率是4×3时,可针对12个像素中的每个像素产生射线。下文中,将描述仅针对一个像素(即,像素A)的射线。
参照图1,从视点10针对像素A产生原射线40。原射线40穿过3D空间,并到达第一对象31。第一对象31可由一组被称为基元的均匀单位区域形成。例如,基元可以是多边形的,诸如三角形的或矩形的。下文中,假设基元是三角形的。
在原射线40和第一对象31的命中点处产生阴影射线50、反射射线60和折射射线70。阴影射线50、反射射线60和折射射线70还被称为次级射线。在从命中点到光源80的方向上产生阴影射线50。在与原射线40的入射角和第一对象31的反射率相应的方向上产生反射射线60,并且结合根据第一对象31的反射率的权重来使用反射射线60。在与原射线40的入射角和第一对象31的折射率相应的方向上产生折射射线70,并且结合根据第一对象31的折射率的权重来使用折射射线70。
所述设备可确定命中点是否通过阴影射线50暴露于光源80。例如,如图1中所示,当阴影射线50遇到第二对象32时,在产生阴影射线50的命中点处产生阴影。此外,所述设备可确定折射射线70和反射射线60是否到达另一对象。例如,如图1中所示,在折射射线70的前进方向上不存在对象,反射射线60到达第三对象33。因此,所述设备可确定第三对象33的命中点的坐标和颜色信息,并且阴影射线90从第三对象33的命中点产生。在该示例中,所述设备可确定阴影射线90是否暴露于光源80。同时,由于第三对象33的反射率和折射率为0,因此不产生相对于第三对象33的反射射线和折射射线。
如上所述,所述设备可分析像素A的原射线40以及从原射线40衍生的所有射线,并可基于分析的结果确定像素A的颜色值。可基于原射线40的命中点的颜色、反射射线60的命中点的颜色以及阴影射线50是否到达光源80来确定像素A的颜色值。所述设备可对屏幕15的所有像素执行以上全部操作。
图2是示出射线跟踪系统的示例的框图。参照图2,所述系统包括射线跟踪设备100、外部存储器250和加速结构(AS)产生器200。此外,射线跟踪设备100包括射线产生单元110、遍历(TRV)单元120、相交测试(IST)单元130和着色单元140。
射线产生单元110产生原射线以及从原射线衍生的射线。如以上参照图1所述,射线产生单元110可从视点10产生原射线40,并在原射线40和对象的命中点处产生次级射线。次级射线可以是在原射线和对象彼此相交的命中点处产生的反射射线、折射射线或阴影射线。此外,射线产生单元110可在次级射线和另一对象的命中点处产生第三级射线(tertiary ray)。射线产生单元110可持续地产生射线,直到射线不相交于对象为止,或者可产生固定次数的射线。
TRV单元120从射线产生单元110接收产生的射线的信息。产生的射线的示例可包括原射线以及从原射线衍生的射线(次级射线和第三级射线)。例如,当产生的射线是原射线时,TRV单元120可接收产生的射线的原点和方向信息。当产生的射线是次级射线时,TRV单元120可接收次级射线的原点和方向信息。次级射线的原点是原射线和对象彼此相交的起始点。原点或起始点可经由坐标表示,方向可经由矢量表示。
TRV单元120从外部存储器250读取AS的信息。AS由AS产生器200产生,并且产生的AS被存储在外部存储器250中。AS产生器200产生包括3D空间中的对象的位置信息的AS。AS产生器以分层树形状划分3D空间。AS产生器200可以以任何形式产生AS。例如,AS产生器200可通过使用K维树(KD-树)或包围体层次(BVH)产生示出3D空间中的对象之间的关系的AS,如将参照图3对此进行详细描述。
图3是示出AS的示例的示图。下文中,为了便于描述,由数字表示AS的每个节点。例如,圆形节点1是第一节点351,方形节点2是第二节点352,虚线方形节点5是第五节点355。AS可包括根节点或顶节点、内节点、叶节点和基元。
在图3中,第一节点351是根节点。根节点是最上层节点,其中,最上层节点不具有上层节点,而只具有下层节点。例如,第一节点351的下层节点是第二节点352和第三节点353,不存在第一节点351的上层节点。第二节点352是内节点。内节点具有上层节点和下层节点两者。例如,第二节点352的上层节点是第一节点351,第二节点352的下层节点是第四节点354和第五节点355。第八节点358是叶节点。叶节点是最下层节点,其中,最下层节点不具有下层节点,而只具有上层节点。例如,第八节点358的上层节点是第七节点357,不存在第八节点358的下层节点。同时,叶节点包括基元。例如,作为叶节点的第六节点356包括一个基元,作为叶节点的第八节点358包括三个基元,作为叶节点的第九节点359包括两个基元。
返回参照图2,TRV单元120遍历读取的AS的信息以检测与射线相交的叶节点。
IST单元130从TRV单元120接收与射线相交的叶节点的信息。IST单元130从外部存储器250读取包括在接收的叶节点中的基元的信息(几何数据)。IST单元130通过使用读取的基元的信息执行射线和基元之间的IST。例如,IST单元130可测试包括在叶节点中的基元中的哪个基元由射线相交。相应地,IST单元130可检测与射线相交的基元,并计算检测到的基元与射线相交的命中点。计算出的命中点可以以坐标形式输出到着色单元140。
着色单元140基于命中点的信息和命中点处的材料的属性来确定像素的颜色值。可选地,着色单元140可通过考虑命中点处的材料的基本颜色和光源的影响来确定像素的颜色值。例如,在图1的像素A中,着色单元140可通过考虑原射线40以及作为次级射线的折射射线70、反射射线60和阴影射线50的影响来确定像素A的颜色值。
同时,射线跟踪设备100可从外部存储器250接收执行射线跟踪所需的数据。外部存储器250可存储AS和/或几何数据。AS由AS产生器200产生,并被存储在外部存储器250中。此外,几何数据指示基元的信息。基元可以是多边形的,诸如三角形的或矩形的,并且几何数据可指示包括在对象中的基元的位置和顶点的信息。例如,当基元是三角形的时,几何数据可包括三角形的三个点的顶点坐标、法线矢量和/或纹理坐标。
图4是示出由图2的射线跟踪设备100执行的射线跟踪方法的示例的示图。因此,图2的描述也可应用于图4。
参照图4,在操作S410,射线跟踪设备100产生射线。射线的示例包括从视点产生的原射线以及从原射线衍生的射线。
在操作S420,射线跟踪设备100从外部存储器250读取AS 251,并基于产生的射线遍历AS 251。因此,射线跟踪设备100检测与射线相交的叶节点。射线跟踪设备100可持续地遍历AS 251,直到检测到叶节点为止。
例如,射线跟踪设备100可通过执行射线节点IST来检测叶节点。射线跟踪设备100可沿任何一个路径遍历AS 251,并且如果射线不与路径上的叶节点相交,则射线跟踪设备100可沿另一路径遍历AS 251。例如,参照图3,射线跟踪设备100可从作为第一节点351的下层节点的第二节点352或第三节点353开始遍历AS。如果从第二节点352遍历AS,则射线跟踪设备100可将第三节点353的信息存储在单独的存储器中。
射线跟踪设备100可确定射线是否与第二节点352相交,并且如果第二节点352和射线彼此相交,则射线跟踪设备100可遍历作为第二节点352的下层节点的第四节点354和第五节点355中的任何一个。当射线跟踪设备100确定第四节点354和射线是否彼此相交时,射线跟踪设备100可将第五节点355的信息存储在单独的存储器中。如果第四节点354和射线彼此相交,则射线跟踪设备100可遍历作为第四节点354的下层节点的第六节点356和第七节点357中的任何一个。当射线跟踪设备100确定第六节点356和射线是否彼此相交时,设备100可将第七节点357的信息存储在单独的存储器中。如果第六节点356和射线彼此相交,则射线跟踪设备100可将第六节点356检测为叶节点。
如此,射线跟踪设备100可通过沿任何一个路径遍历AS 251来检测叶节点,并可将其他路径中的节点的信息存储在单独的存储器中,以在遍历该任何一个路径之后从最近存储的节点再次进行遍历。例如,参照图3,在将第六节点356检测为叶节点之后,射线跟踪设备100可从最近存储的第七节点357再次遍历AS。因此,射线跟踪设备100在遍历一个路径之后不从顶节点再次进行遍历,而是遍历与已经遍历的路径最邻近的另一路径,从而减小了操作量。
再次参照图4,在操作S430,射线跟踪设备100将检测到的叶节点的信息发送到IST单元130,并确定在检测到的叶节点中包括的基元是否与射线相交。即,射线跟踪设备100从外部存储器250读取基元的信息(几何数据)252,并通过使用几何数据252执行射线与基元之间的IST。
射线跟踪设备100确定在TRV单元120所检测到的叶节点中包括的基元中的哪一个基元由射线相交。例如,如果检测到的叶节点包括三个基元(第一基元至第三基元),则射线跟踪设备100可执行第一基元与射线之间的IST、第二基元与射线之间的IST以及第三基元与射线之间的IST,以检测与射线相交的基元。因此,射线跟踪设备100检测与射线相交的基元,并计算检测到的基元和射线彼此相交的命中点。
在操作S440,射线跟踪设备100基于IST执行像素的着色。换言之,射线跟踪设备100基于命中点的信息和命中点处的材料的属性来确定像素的颜色值。
在操作S440之后,射线跟踪设备100再次执行操作S410。即,射线跟踪设备100在对一个像素执行着色之后执行操作S410至S440以对另一像素执行着色,并对形成屏幕的所有像素中的每个像素重复地执行操作S410至S440。
图5是示出渲染连续帧的图像的示例的示图。参照图5,部分(a)示出与第N帧(第一帧)510相应的渲染图像,部分(b)示出与第N+1帧(第二帧)520相应的渲染图像。
在一般的图形处理中,连续帧的渲染图像具有大量相似性,这是因为相邻帧被快速连续地再现,具有较小的差异,以创建自然的动画效果。例如,将图5的第一帧510和第二帧520进行比较,除了第二帧520中具有斜线的区域之外,第一帧510的像素和第二帧520的像素相同。因此,整体上,第一帧510和第二帧520非常相似。
因此,射线跟踪设备100可通过使用渲染第一帧510的结果对第二帧520执行渲染。例如,当第一帧510中第一射线的原点和方向与第二帧520中第二射线的原点和方向相似时,射线跟踪设备100可在遍历第二射线时使用第一射线的遍历结果。更详细地讲,在设备100的TRV单元120遍历第二射线之前,TRV单元120可首先遍历与第一射线相交的叶节点和节点集群。此外,射线跟踪设备100的IST单元130可在对第二射线执行IST之前首先对与第一射线相交的基元执行IST。
图6是示出TRV单元120的示例的框图。参照图6,TRV单元120包括关键数据确定单元610、TRV操作单元630和TRV缓存620。
关键数据确定单元610提取接收的射线的特征以根据提取的特征确定接收的射线的关键数据(key data)。接收的射线的特征可包括接收的射线的原点和方向信息。关键数据确定单元610在数据库(DB)中搜索与接收的射线的原点和方向信息相应的关键数据。射线的关键数据可表示用于指示包括射线的组的数据,诸如标识符(ID)。以下将参照图7详细地描述确定射线的关键数据的方法。
图7是示出确定射线的关键数据的方法的示例的示图。参照图7,射线可由矢量表示。例如,第一射线由具有第一原点701和第一方向的第一射线矢量710表示,第二射线由具有第二原点702和第二方向的第二射线矢量720表示。因此,射线的原点可由坐标表示,射线的方向可由参考线与射线矢量之间的角度表示。关键数据确定单元610可将原点和方向在特定范围内的射线确定为一组,并将相同的关键数据分配给同一组中的射线。为了将射线分成组,存在射线的区域760被划分成相等大小以形成预定数量的单元格(cell)。例如,如图7中所示,区域760包括32个单元格。
由参考线和射线矢量形成的角度范围(0°到360°)被划分成有规律的角度以设置预定数量的区段。例如,如果360°的角度按照45°划分,则第一区段从0°到45°,第二区段从45°到90°,第三区段从90°到135°,等等,从而设置8个区段。然后,如果射线的原点在同一单元格中并且射线的方向(由参考线和射线矢量形成的角度)在同一区段中,则射线可以在同一组中。
例如,如图7中所示,当第一射线矢量710的第一原点701和第二射线矢量720的第二原点702在同一单元格750中,并且第一射线矢量710的方向(由参考线和第一射线矢量710形成的角度a1)和第二射线矢量720的方向(由参考线和第二射线矢量720形成的角度a2)在第一区段(0°到45°)中时,第一射线和第二射线可以在同一组中。相应地,第一射线和第二射线的关键数据可具有相同的值。
同时,如图7中所示,当原点的区段的数量是32(32个单元格)并且方向的区段的数量是8(第一区段至第八区段)时,关键数据确定单元610可在DB中存储256(=32×8)条区段数据和相应关键数据。DB可具有哈希表的结构。因此,关键数据确定单元610可确定接收的射线的区段,并将与确定的区段相应的关键数据确定为接收的射线的关键数据。
再次参照图6,TRV缓存620可包括标签单元和数据单元,其中,标签单元可存储指示射线的关键数据的标签数据,数据单元可存储与标签数据相应的射线的AS遍历数据。关键数据的形式可以与存储在缓存中的标签数据的形式相同。标签数据可指示先前射线的关键数据。例如,当之前已经遍历了不相似的第一射线和第二射线时,指示第一射线的关键数据的第一标签数据和指示第二射线的关键数据的第二标签数据可被存储在标签单元中。
此外,指示遍历第一射线的结果的第一AS遍历数据和指示遍历第二射线的结果的第二AS遍历数据可被存储在数据单元中。先前射线的AS遍历数据可包括以下数据中的至少一个:基于对先前射线进行遍历,与先前射线相交的节点集群的数据,与先前射线相交的叶节点的数据,以及与先前射线相交的基元的数据。AS中的节点集群包括与先前射线相交的叶节点、刚好在该叶节点以上的上层节点以及该上层节点的一个或更多个下层节点。例如,参照图3,如果先前射线与作为叶节点的第八节点358相交,则节点集群可包括第七节点357、第八节点358和第九节点359。此外,如果先前射线与作为叶节点的第六节点356相交,则节点集群可包括第四节点354、第六节点356和第七节点357。
TRV缓存620将接收的射线的关键数据与多条标签数据进行比较以确定与接收的射线具有相同关键数据的先前射线的AS遍历数据是否被存储在TRV缓存620中。如果接收的射线的关键数据与这多条标签数据中的任何一条标签数据匹配,则确定发生了缓存命中(cache hit),而如果接收的射线的关键数据与这多条标签数据中的任何一条标签数据不匹配,则确定发生了缓存失效(cache miss)。
当确定发生了缓存命中时,TRV操作单元630基于从TRV缓存620读取的AS遍历数据对接收的射线执行AS遍历。在这种情况下,当AS遍历数据属于节点集群时,TRV操作单元630确定接收的射线是否与包括在该节点集群中的节点相交,并且AS遍历可从该节点集群中的节点的最上层节点执行。可选地,当AS遍历数据属于叶节点时,TRV操作单元630确定接收的射线是否与该叶节点相交。
当确定发生了缓存失效时,TRV操作单元630对接收的射线执行AS遍历以确定AS中的哪个叶节点与接收的射线相交。在这种情况下,如以上参照图4所述,可对AS中的节点执行射线-节点IST以检测叶节点。
图8是示出射线跟踪方法的示例的流程图。参照图8,在操作S810,射线跟踪设备100产生并接收射线。
在操作S820,射线跟踪设备100提取接收的射线的特征,并根据提取的特征确定接收的射线的关键数据。提取的特征可包括接收的射线的原点和方向信息,射线的关键数据可根据接收的射线的原点和方向信息来确定。详细地讲,射线跟踪设备100可将接收的射线的原点和方向信息与存储在DB中的多条组信息进行比较以确定接收的射线属于的组,并将与确定的组相应的关键数据确定为接收的射线的关键数据。
在操作S830,射线跟踪设备100确定与接收的射线具有相同关键数据的先前射线的AS遍历数据是否被存储在TRV缓存620中。例如,如图9中所示,射线跟踪设备100将射线的关键数据与TRV缓存620的标签单元621的第一标签数据TD1至第三标签数据TD3中的每一个进行比较,以确定射线的关键数据是否与第一标签数据TD1至第三标签数据TD3中的任何一个匹配。当确定射线的关键数据与第一标签数据TD1至第三标签数据TD3中的任何一个匹配时,射线跟踪设备100确定发生了缓存命中,并继续操作S840。当确定射线的关键数据与第一标签数据TD1至第三标签数据TD3中的任何一个不匹配时,射线跟踪设备100确定发生了缓存失效,并继续操作S850。
在操作S840,射线跟踪设备100读取AS遍历数据。例如,如图9中所示,当射线的关键数据和第二标签数据TD2彼此匹配时,射线跟踪设备100将与标签数据TD2相应的第二缓存数据(AS遍历数据)CD2从TRV缓存620的AS遍历数据单元622输出到TRV操作单元630。
当确定发生了缓存命中时,在操作S850,射线跟踪设备100基于读取的AS遍历数据对接收的射线执行AS遍历。例如,当读取的AS遍历数据属于节点集群时,射线跟踪设备100可从包括在节点集群中的节点的最上层节点确定接收的射线是否与包括在节点集群中的节点相交。可选地,当读取的AS遍历数据属于叶节点时,射线跟踪设备100可确定接收的射线是否与叶节点相交。
另一方面,当确定发生了缓存失效时,在操作S850,射线跟踪设备100对接收的射线执行AS遍历。在这种情况下,如以上参照图4所述,射线跟踪设备100可对AS中的节点执行射线-节点IST以检测叶节点。
同时,参照图9,射线跟踪设备100将接收的射线的关键数据存储在TRV缓存620的标签单元621中,并将执行AS遍历的结果存储在TRV缓存620的数据单元622的与标签单元621中存储的接收的射线的关键数据相应的区域中。例如,射线跟踪设备100可对接收的射线执行AS遍历以检测与接收的射线相交的节点集群和/或叶节点,并存储检测到的节点集群和/或叶节点的数据。
图10是示出射线跟踪方法的另一示例的流程图。由于图10的操作S910至S930分别与图8的操作S810至S830相同,因此不重复其细节。
当确定发生了缓存命中时,即,当确定与接收的射线具有相同关键数据的先前射线的AS遍历数据被存储在TRV缓存620中时,在操作S940,射线跟踪设备100读取AS遍历数据。
当读取的AS遍历数据属于与先前射线相交的基元时,在操作S950,射线跟踪设备100执行IST以确定接收的射线是否与基元相交,并且如果相交,则计算接收的射线与基元的命中点。
另一方面,当确定发生了缓存失效时,即,当确定与接收的射线具有相同关键数据的先前射线的AS遍历数据未被存储在TRV缓存620中时,在操作S960,射线跟踪设备100对接收的射线执行AS遍历。在这种情况下,如以上参照图4所述,射线跟踪设备100可对AS中的节点执行射线-节点IST以检测叶节点。
所描述的射线跟踪设备的示例可将遍历先前射线的结果存储在TRV缓存中,并且当接收到与先前射线相似的射线时,射线跟踪设备可使用存储在TRV缓存中的结果。如此,通过根据帧之间的相似性而对当前帧使用先前帧的射线遍历结果,可减少对当前帧进行射线跟踪所需的操作的数量。
在对接收的射线进行遍历时,与先前遍历的相似射线相交的节点可首先被遍历以快速地遍历AS。此外,在对接收的射线执行IST时,可首先对与先前遍历的相似射线相交的基元执行IST以快速地处理射线跟踪。相应地,可提高射线跟踪设备的处理能力和处理速度。
可使用一个或更多个硬件组件、一个或更多个软件组件或者一个或更多个硬件组件和一个或更多个软件组件的组合来实现以上描述的各种单元、元件和方法。
例如,硬件组件可以是在物理上执行一个或更多个操作的物理装置,但是不限于此。硬件组件的示例包括麦克风、放大器、低通滤波器、高通滤波器、带通滤波器、模数转换器、数模转换器和处理装置。
例如,软件组件可由被用于执行一个或更多个操作的软件或指令控制的处理装置实现,但是不限于此。计算机、控制器或其他控制装置可使处理装置运行软件或执行指令。一个软件组件可由一个处理装置实现,或者两个或更多个软件组件可由一个处理装置实现,或者一个软件组件可由两个或更多个处理装置实现,或者两个或更多个软件组件可由两个或更多个处理装置实现。
例如,处理装置可使用一个或更多个通用或专用计算机来实现,诸如处理器、控制器和算术逻辑单元、数字信号处理器、微计算机、现场可编程阵列、可编程逻辑单元、微处理器或能够运行软件或执行指令的任何其他装置。处理装置可运行操作系统(OS),并可运行在OS下操作的一个或更多个软件应用。当运行软件或执行指令时,处理装置可访问、存储、操纵、处理和创建数据。为简单起见,在描述中使用单数术语“处理装置”,但是本领域的普通技术人员将认识到,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括一个或更多个处理器,或者包括一个或更多个处理器和一个或更多个控制器。另外,不同的处理配置是可行的,诸如并行处理器或多核处理器。
被配置为实现用于执行操作A的软件组件的处理装置可包括被编程为运行软件或执行指令以控制处理器执行操作A的处理器。另外,例如,被配置为实现用于执行操作A、操作B和操作C的软件组件的处理装置可具有各种配置,诸如被配置为实现用于执行操作A、操作B和操作C的软件组件的处理器;被配置为实现用于执行操作A的软件组件的第一处理器,和被配置为实现用于执行操作B和操作C的软件组件的第二处理器;被配置为实现用于执行操作A和操作B的软件组件的第一处理器,和被配置为实现用于执行操作C的软件组件的第二处理器;被配置为实现用于执行操作A的软件组件的第一处理器,被配置为实现用于执行操作B的软件组件的第二处理器,和被配置为实现用于执行操作C的软件组件的第三处理器;被配置为实现用于执行操作A、操作B和操作C的软件组件的第一处理器,被配置为实现用于执行操作A、操作B和操作C的软件组件的第二处理器,或者均实现操作A、操作B和操作C中的一个或更多个操作的一个或更多个处理器的任何其他配置。虽然这些示例表示了三个操作A、B、C,但是可实现的操作的数量不限于三个,而可以是实现期望结果或执行期望任务所需的操作的任意数量。
用于控制处理装置实现软件组件的软件或指令可包括用于独立地或共同地指示或配置处理装置执行一个或更多个期望操作的计算机程序、代码段、指令或其某个组合。软件或指令可包括可由处理装置直接执行的机器代码(诸如由编译器产生的机器代码)和/或可由处理装置使用解释器执行的更高级代码。软件或指令以及任何相关数据、数据文件和数据结构可被永久地或暂时地实现在任何类型的机器、组件、物理或虚拟设备、计算机存储介质或装置、或者能够向处理装置提供指令或数据或被处理装置解释的传播信号波中。软件或指令以及任何相关数据、数据文件和数据结构还可分布于联网的计算机系统中,使得软件或指令以及任何相关数据、数据文件和数据结构以分布式方式存储和执行。
例如,软件或指令以及任何相关数据、数据文件和数据结构可记录、存储或固定在一个或更多个非暂时性计算机可读存储介质中。非暂时性计算机可读存储介质可以是能够存储软件或指令以及任何相关数据、数据文件和数据结构使得它们可被计算机系统或处理装置读取的任何数据存储装置。非暂时性计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘或本领域的普通技术人员公知的任何其他非暂时性计算机可读存储介质。
用于实现在此公开的示例的功能程序、代码和代码段可由示例所属领域的编程技术人员基于附图和这里提供的它们的相应描述容易地解释。
虽然本公开包括特定示例,但是对本领域的普通技术人员将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例应仅被视为描述性意义,而不是为了限制的目的。对各个示例中的特征或方面的描述应被视为适用于其他示例中的相似特征或方面。如果所描述的技术按不同顺序执行,和/或如果所描述的系统、架构、装置或电路中的组件以不同方式组合和/或被其他组件或其等同物替代或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定的,而是由权利要求及其等同物限定的,并且在权利要求及其等同物的范围内的所有变化应被解释为包括在本公开中。
Claims (21)
1.一种射线跟踪方法,包括:
确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;
基于确定的结果,读取存储的加速结构遍历数据,并基于读取的加速结构遍历数据执行图像渲染,
其中,确定的步骤包括:通过将接收的射线的关键数据与存储在遍历缓存中的指示射线的关键数据的标签数据进行比较来确定是发生缓存命中还是发生缓存失效,其中,关键数据是基于包括接收的射线的原点和方向的特征信息来确定的。
2.根据权利要求1所述的射线跟踪方法,还包括:
基于接收的射线的特征信息确定先前射线与接收的射线相似。
3.根据权利要求1所述的射线跟踪方法,还包括:
提取接收的射线的特征信息。
4.根据权利要求3所述的射线跟踪方法,其中,确定关键数据的步骤包括:
通过基于提取的特征信息搜索数据库来确定接收的射线属于的组,其中,在所述数据库中存储有基于射线的特征信息所设置的组的信息以及组的关键数据;
将确定的组的关键数据确定为接收的射线的关键数据。
5.根据权利要求4所述的射线跟踪方法,其中:
组的信息包括每条射线的原点和方向;
确定关键数据的步骤包括:通过将接收的射线的原点和方向与每条射线的原点和方向进行比较来确定接收的射线属于的组。
6.根据权利要求3所述的射线跟踪方法,其中:
读取的步骤包括:响应于标签数据与接收的射线的关键数据匹配,读取与匹配的标签数据相应的加速结构遍历数据。
7.根据权利要求1所述的射线跟踪方法,其中,加速结构遍历数据包括以下数据中的至少一个:与先前射线相交的节点集群的数据、与先前射线相交的叶节点的数据、以及与先前射线相交的基元的数据。
8.根据权利要求7所述的射线跟踪方法,其中,响应于加速结构遍历数据包括节点集群的数据,图像渲染的步骤包括:通过遍历包括在节点集群中的节点来检测与接收的射线相交的叶节点。
9.根据权利要求7所述的射线跟踪方法,其中,响应于加速结构遍历数据包括叶节点的数据,渲染的步骤包括:测试接收的射线是否与叶节点相交。
10.根据权利要求7所述的射线跟踪方法,还包括:响应于加速结构遍历数据包括基元的数据,将基元的数据发送到相交测试单元。
11.根据权利要求7所述的射线跟踪方法,其中,响应于加速结构遍历数据包括基元的数据,渲染的步骤包括:测试接收的射线是否与基元相交。
12.一种射线跟踪设备,包括:
遍历缓存,被配置为确定与接收的射线相似的先前射线的加速结构遍历数据是否被存储在遍历缓存中;
遍历操作单元,被配置为基于确定的结果,读取存储的加速结构遍历数据,并基于读取的加速结构遍历数据对接收的射线执行加速结构遍历,
其中,遍历缓存还被配置为通过将接收的射线的关键数据与存储的指示射线的关键数据的标签数据进行比较来确定是发生缓存命中还是发生缓存失效,其中,关键数据是基于包括接收的射线的原点和方向的特征信息来确定的。
13.根据权利要求12所述的射线跟踪设备,还包括:
关键数据确定单元,被配置为基于接收的射线的特征信息确定先前射线与接收的射线相似。
14.根据权利要求12所述的射线跟踪设备,还包括:
关键数据确定单元,被配置为提取接收的射线的特征信息。
15.根据权利要求14所述的射线跟踪设备,其中:
关键数据确定单元包括存储有基于射线的特征信息所设置的组的信息以及组的关键数据的数据库:
关键数据确定单元被配置为:
通过基于提取的特征信息搜索所述数据库来确定接收的射线属于的组;
将确定的组的关键数据确定为接收的射线的关键数据。
16.根据权利要求15所述的射线跟踪设备,其中:
组的信息包括每条射线的原点和方向;
关键数据确定单元被配置为:通过将接收的射线的原点和方向与每条射线的原点和方向进行比较来确定接收的射线属于的组。
17.根据权利要求14所述的射线跟踪设备,其中,遍历缓存被配置为:
存储指示射线的关键数据的标签数据以及与标签数据相应的加速结构遍历数据,
遍历操作单元被配置为:响应于标签数据与接收的射线的关键数据匹配,读取与匹配的标签数据相应的加速结构遍历数据。
18.根据权利要求12所述的射线跟踪设备,其中,加速结构遍历数据包括以下数据中的至少一个:与先前射线相交的节点集群的数据、与先前射线相交的叶节点的数据、以及与先前射线相交的基元的数据。
19.根据权利要求18所述的射线跟踪设备,其中,响应于加速结构遍历数据包括节点集群的数据,遍历操作单元被配置为:遍历包括在节点集群中的节点以检测与接收的射线相交的叶节点。
20.根据权利要求18所述的射线跟踪设备,其中,响应于加速结构遍历数据包括叶节点的数据,遍历操作单元被配置为:测试接收的射线是否与叶节点相交。
21.根据权利要求18所述的射线跟踪设备,还包括:
相交测试操作单元,被配置为响应于加速结构遍历数据包括基元的数据,测试接收的射线是否与基元相交。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130132995A KR102193684B1 (ko) | 2013-11-04 | 2013-11-04 | 레이 트레이싱 처리 장치 및 방법 |
KR10-2013-0132995 | 2013-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104616340A CN104616340A (zh) | 2015-05-13 |
CN104616340B true CN104616340B (zh) | 2019-07-26 |
Family
ID=51786802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410612697.8A Active CN104616340B (zh) | 2013-11-04 | 2014-11-04 | 射线跟踪方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9996966B2 (zh) |
EP (1) | EP2869273B1 (zh) |
JP (1) | JP6474585B2 (zh) |
KR (1) | KR102193684B1 (zh) |
CN (1) | CN104616340B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
US9852537B2 (en) * | 2015-05-01 | 2017-12-26 | Otoy Inc. | Rendering via ray-depth field intersection |
CN105160698B (zh) * | 2015-08-21 | 2018-12-18 | 天津大学 | 一种三角化射线跟踪路径搜索方法 |
US10579812B2 (en) * | 2016-02-19 | 2020-03-03 | Adobe Inc. | 3D digital content interaction and control |
KR102712155B1 (ko) * | 2016-12-15 | 2024-09-30 | 삼성전자주식회사 | 가속 구조를 생성하는 방법 및 장치 |
US11875904B2 (en) * | 2017-04-27 | 2024-01-16 | Koninklijke Philips N.V. | Identification of epidemiology transmission hot spots in a medical facility |
CN107464207B (zh) * | 2017-07-17 | 2020-06-02 | 南京华磊易晶微电子有限公司 | 基于可重构数据流系统芯片阵列的3d图学渲染加速系统 |
US10614613B2 (en) | 2017-07-28 | 2020-04-07 | Nvidia Corporation | Reducing noise during rendering by performing parallel path space filtering utilizing hashing |
US10438397B2 (en) * | 2017-09-15 | 2019-10-08 | Imagination Technologies Limited | Reduced acceleration structures for ray tracing systems |
US10825231B2 (en) * | 2018-12-10 | 2020-11-03 | Arm Limited | Methods of and apparatus for rendering frames for display using ray tracing |
CN112721145B (zh) * | 2019-10-14 | 2021-12-03 | 中国科学院沈阳自动化研究所 | 一种基于纹理贴图的全彩色3d打印机控制方法 |
US11263800B2 (en) * | 2019-12-27 | 2022-03-01 | Intel Corporation | Apparatus and method for quantized convergent direction-based ray sorting |
US11276224B2 (en) | 2020-04-17 | 2022-03-15 | Samsung Electronics Co., Ltd. | Method for ray intersection sorting |
US11302056B2 (en) * | 2020-06-10 | 2022-04-12 | Nvidia Corporation | Techniques for traversing data employed in ray tracing |
US11295509B2 (en) * | 2020-06-29 | 2022-04-05 | Imagination Technologies Limited | Intersection testing in a ray tracing system using multiple ray bundle intersection tests |
US11869117B2 (en) | 2021-03-18 | 2024-01-09 | Samsung Electronics Co., Ltd. | Systems and methods of adaptive, variable-rate, hybrid ray tracing |
CN115640138B (zh) * | 2022-11-25 | 2023-03-21 | 摩尔线程智能科技(北京)有限责任公司 | 用于光线追踪调度的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101297325A (zh) * | 2005-12-29 | 2008-10-29 | 英特尔公司 | 用于降低计算次数的区间算法在射线跟踪问题中的应用 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7952583B2 (en) * | 2000-06-19 | 2011-05-31 | Mental Images Gmbh | Quasi-monte carlo light transport simulation by efficient ray tracing |
US8643659B1 (en) * | 2003-12-31 | 2014-02-04 | 3Dlabs Inc., Ltd. | Shader with global and instruction caches |
US20080024489A1 (en) | 2006-07-28 | 2008-01-31 | Robert Allen Shearer | Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements |
KR100894136B1 (ko) | 2006-08-31 | 2009-04-20 | 세종대학교산학협력단 | 광선 추적을 위한 비 스택 방식의 케이디 트리 탐색알고리즘을 적용한 영상검출 장치 및 방법 |
US7830379B2 (en) * | 2006-09-19 | 2010-11-09 | Caustic Graphics, Inc. | Architectures for parallelized intersection testing and shading for ray-tracing rendering |
US8018457B2 (en) * | 2006-09-19 | 2011-09-13 | Caustic Graphics, Inc. | Ray tracing system architectures and methods |
KR101550477B1 (ko) * | 2008-03-21 | 2015-09-04 | 이메지네이션 테크놀로지스 리미티드 | 광선 추적 렌더링을 위한 병렬화 교차 테스트 및 세이딩의 아키텍처 |
JP2010062948A (ja) * | 2008-09-04 | 2010-03-18 | Fujitsu Ltd | シミュレートプログラム、シミュレート装置およびシミュレート方法 |
US8350846B2 (en) | 2009-01-28 | 2013-01-08 | International Business Machines Corporation | Updating ray traced acceleration data structures between frames based on changing perspective |
US8248401B2 (en) * | 2009-03-19 | 2012-08-21 | International Business Machines Corporation | Accelerated data structure optimization based upon view orientation |
US8248412B2 (en) * | 2009-03-19 | 2012-08-21 | International Business Machines Corporation | Physical rendering with textured bounding volume primitive mapping |
US8797322B2 (en) * | 2009-06-24 | 2014-08-05 | Imagination Technologies, Limited | Systems and methods of defining rays for ray tracing rendering |
US8619078B2 (en) * | 2010-05-21 | 2013-12-31 | International Business Machines Corporation | Parallelized ray tracing |
US8692825B2 (en) * | 2010-06-24 | 2014-04-08 | International Business Machines Corporation | Parallelized streaming accelerated data structure generation |
KR101705581B1 (ko) * | 2010-09-30 | 2017-02-22 | 삼성전자주식회사 | 데이터 처리 장치 및 방법 |
US9113130B2 (en) * | 2012-02-06 | 2015-08-18 | Legend3D, Inc. | Multi-stage production pipeline system |
US9183667B2 (en) | 2011-07-15 | 2015-11-10 | Kirill Garanzha | Out-of-core ray tracing with memory-efficient page generation |
US8930636B2 (en) * | 2012-07-20 | 2015-01-06 | Nvidia Corporation | Relaxed coherency between different caches |
US10083541B2 (en) * | 2014-03-13 | 2018-09-25 | Imagination Technologies Limited | Object illumination in hybrid rasterization and ray traced 3-D rendering |
-
2013
- 2013-11-04 KR KR1020130132995A patent/KR102193684B1/ko active IP Right Grant
-
2014
- 2014-05-13 US US14/276,280 patent/US9996966B2/en active Active
- 2014-10-15 EP EP14188967.5A patent/EP2869273B1/en active Active
- 2014-10-31 JP JP2014223150A patent/JP6474585B2/ja active Active
- 2014-11-04 CN CN201410612697.8A patent/CN104616340B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101297325A (zh) * | 2005-12-29 | 2008-10-29 | 英特尔公司 | 用于降低计算次数的区间算法在射线跟踪问题中的应用 |
Also Published As
Publication number | Publication date |
---|---|
JP6474585B2 (ja) | 2019-02-27 |
EP2869273A2 (en) | 2015-05-06 |
JP2015090712A (ja) | 2015-05-11 |
KR20150051477A (ko) | 2015-05-13 |
US20150123971A1 (en) | 2015-05-07 |
KR102193684B1 (ko) | 2020-12-21 |
US9996966B2 (en) | 2018-06-12 |
CN104616340A (zh) | 2015-05-13 |
EP2869273A3 (en) | 2016-01-27 |
EP2869273B1 (en) | 2022-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104616340B (zh) | 射线跟踪方法和设备 | |
CN104978759B (zh) | 用于渲染多个帧的相同区域的方法和设备 | |
EP3002732B1 (en) | Method and apparatus for generating and traversing acceleration structure | |
KR101545039B1 (ko) | 광선 추적법을 이용하는 렌더링 시스템 및 방법 | |
US10198851B2 (en) | Rendering system and method | |
US8593459B2 (en) | Tree insertion depth adjustment based on view frustum and distance culling | |
US10586375B2 (en) | Hybrid raytracing approach for modeling light reflection | |
US20100188396A1 (en) | Updating Ray Traced Acceleration Data Structures Between Frames Based on Changing Perspective | |
JP6460914B2 (ja) | レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法 | |
US20160196684A1 (en) | Building Acceleration Structures with Synthetic Acceleration Shapes for Use in Ray Tracing | |
US20090289939A1 (en) | Systems and methods for concurrent ray tracing | |
US20170091898A1 (en) | Apparatus for and method of traversing tree | |
US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
US20150091904A1 (en) | Ray tracing processing apparatus and method | |
US20190318529A1 (en) | Systems and Methods for Rendering Foveated Effects | |
KR20180069461A (ko) | 가속 구조를 생성하는 방법 및 장치 | |
KR102151443B1 (ko) | 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치 | |
CN108140255A (zh) | 用于识别场景中的反射表面的方法和系统 | |
US20150091894A1 (en) | Method and apparatus for tracing ray using result of previous rendering | |
KR20150136348A (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
US10026214B2 (en) | Ray tracing apparatus and method | |
KR20150046642A (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
Kol et al. | MegaViews: Scalable Many‐View Rendering With Concurrent Scene‐View Hierarchy Traversal | |
Fluke et al. | Survey-scale discovery-based research processes: Evaluating a bespoke visualisation environment for astronomical survey data | |
Rossi | Development of a simulator for 3D pattern recognition scanners |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |