图像生成系统和方法与流程

文档序号:25526152发布日期:2021-06-18 20:15阅读:55来源:国知局
图像生成系统和方法与流程

本公开涉及图像生成系统和方法。



背景技术:

光线追踪是一种渲染技术,近年来由于其能够生成高度的视觉真实感而受到广泛关注。光线追踪通常用于模拟图像内的多种光学效果,诸如反射、阴影和色差。

这对于任何基于计算机的图像生成处理都是有用的,例如,对于电影中的特殊效果以及为计算机游戏生成图像。尽管已经讨论了此类技术并使用了相当长的时间,但是直到最近,处理硬件才变得足够强大,以便能够实现具有可接受的低延迟的光线追踪技术,以用于实时应用或至少在一段内容内的更广泛的使用。

这样的技术通过从相机追踪场景中每个像素的光线来有效地确定场景中对象的视觉属性。当然,这是一个相当耗费计算的处理,预计将使用大量像素来显示场景,并且即使对于较简单的场景(诸如反射很少的场景等),也可能导致大量计算。鉴于此,扫描线渲染和其他渲染方法通常是优选的渲染方法,其中,尽管图像质量较低,但延迟仍然被认为是重要的。

试图改善与基于光线追踪的方法相关联的渲染时间的一种技术是使用包围盒(boundingvolume)表示对象的分组。包围盒的使用是有利的,因为可以通过光线一起测试一组对象的相交,而不是基于每个对象来测试。这可能意味着减少相交测试的时间,并且通过使用代表对象的简化形状(诸如框或球体)来简化每个测试的计算。然而,尽管原则上是有利的,但是定义适当的包围盒结构的挑战可能是有问题的。

光线追踪作为可以增加所生成视频内容的感知真实感的技术,对于虚拟现实(vr)应用尤为重要。在这样的应用中,当然希望增加所提供的视觉的真实感,以改善内容观看者(诸如头戴式显示设备(hmd)的用户)所体验的沉浸感。但是,vr应用对较长的渲染时间特别敏感,因此光线追踪技术并未在这些情况下广泛使用。

因此,期望以允许在不将图像渲染处理的延迟时间增加到不期望的水平的情况下生成真实图像的方式来实现光线追踪算法。



技术实现要素:

在以上问题的背景下产生了本公开。

本公开由权利要求1限定。

本公开的其他各个方面和特征在所附权利要求中定义。

附图说明

现在将参考附图通过示例的方式描述本发明的实施例,其中:

图1示意性地示出了层次包围盒(boundingvolumehierarchy);

图2示意性地示出了包围盒;

图3示意性地示出了多个包围盒;

图4示意性地示出了三维空间中的立方体;

图5示意性地示出了二维分组;

图6示意性地示出了带有入射光线的图5的分组;

图7示意性地示出了可选的二维分组;

图8示意性地示出了其中提供了多个不相关的bvh的示例性bvh结构;

图9示意性地示出了其中提供了单个bvh的示例性bvh结构;

图10示意性地示出了其中提供了多个相关的bvh的示例性bvh结构;

图11示意性地示出了用于执行光线追踪处理的系统;

图12示意性地示出了用于生成在光线追踪处理中使用的bvh的系统;

图13示意性地示出了用于执行光线追踪处理的方法;和

图14示意性地示出了用于生成在光线追踪处理中使用的bvh的方法。

具体实施方式

本公开涉及一种系统和方法,通过该系统和方法,层次包围盒(bvh)用于生成有关对象移动通过的能力和环境的信息。这与bvh的传统用法不同,在bvh的传统用法中,bvh用于以有序的方式表示对象,从而可以更有效地执行光线追踪(即图形渲染)技术。

图1示意性地示出了bvh的简单示例;在此示例中,每个框(包围盒)表示给定细节级别下的一个或多个对象。每个框都包含在层级中位于其上方的框中,例如,框110包含有关环境中所有对象的信息,而每个框120包含对象的子集。这些子集可以以任何合适的方式确定,尽管通常认为,将环境内彼此靠近的对象分组在一起并用相同的包围盒表示的方法是优选的。

可以以任何合适的方式确定每个级别的细节等级,并且bvh可以具有定义的最大细节等级。例如,bvh可以以表示对象的分组的包围盒终止,这将导致粗略的表示,但是会减小其尺寸并且可以非常快地遍历。可替代地,bvh可以以表示对象部分的包围盒终止,虽然这提供了对象的更好近似,但是当然,这提供了更大的bvh,并且可能需要更长的遍历时间。可以将bvh定义为包含两者的元素,使得某些对象比其他对象具有更细的/更粗略的表示。

bvh可以通过多种方式生成,每种都有其自身的优点和缺点。例如,可以采用自顶向下的方法,其中从可能的最大集合开始定义包围盒。也就是说,将输入(诸如环境中的对象集或这些对象的表示)划分为两个或多个子集,然后分别细分这些子集。即从框110开始生成包围盒,然后继续到框120等。尽管这表示了快速的实现,但通常会导致bvh效率低下,从而可能导致整体尺寸变大或可通行性不便。

可替代的方法是自下而上的方法。在这种方法中,包围盒是从bvh中的最小盒开始定义的。在图1的示例中,这意味着先定义包围盒140,然后再向上扩展到包围盒130。虽然通常可以生成比自顶向下方法更好(即更有效)的bvh,但是其可以有效实施的挑战更大。

这些方法中的每一种都需要有关可用的所有对象的信息,然后才可以生成bvh;这当然在许多应用中是可以接受的,但是在其他应用中,可能优选是能够实时生成bvh。

可以考虑的第三种方法是插入方法。这些可以实时执行,并且可以通过以每个对象为基础将对象插入bvh的包围盒中来执行。这意味着在插入时仅需要有关该对象的信息。插入方法涵盖了广泛的相关方法,在这些方法中,以标识最佳放置或合适放置的方式确定对象的放置。例如,可以定义功能,该功能评估插入对bvh的影响(就尺寸或可通行性等而言),并且以最小化或以其他方式减小对bvh的影响的方式执行插入。

当然,任何其他合适的方法都可以被认为与本公开的教导兼容,而不限于上面讨论的那些。

可以使用bvh和相关联的包围盒来表示任何合适的输入数据。例如,视频游戏可以提供合适的输入数据源来生成这种结构。在这种情况下,输入信息可以是关于虚拟对象的数据,这些数据定义了它们各自的维度和位置。同样,可以将描述真实环境的信息用作信息源,例如,可以从真实环境的图像以及该环境中的对象生成信息,并且可以将该信息用于生成bvh,以用于渲染该环境的图像。

图2和3示意性地示出了在光线追踪算法中的包围盒的使用。

图2示意性地示出了要在其中追踪光线的视窗200,例如,这可以是虚拟环境中要呈现给观看者的相机视图。该场景包括对象210,该对象被包围盒220包围。与其测试每个光线与构成对象210的每个多边形的相交(可能是相当多的数量),不如仅测试相对于包围盒220的相交。当然,任何不与包围盒220相交的光线都不会与形成对象210的多边形相交,尽管当然光线可能会与不会与形成对象210的多边形相交的包围盒220相交。

例如,如果要测试一百条光线的相交,则在此阶段只需进行一百次测试,因为每个光线只有一个对象(包围盒220)进行测试,而不是一百乘以构成对象210的多边形的数量。

图3示出了包围盒220的放大版本,其中较小的包围盒230和231用于表示对象210。可以针对发现与包围盒220相交的每条光线测试包围盒230和231的相交,以获得对象210的视觉外观的更细的近似。

例如,如果发现只有十条光线与包围盒220相交,则此阶段需要进行三十次测试(即,针对具有每个包围盒的每条光线进行测试)。相对于将一百乘以构成对象210的多边形的数量进行测试(如上所述),这又是非常小的数量。因此,很明显,要考虑的用于相交的光线的下降数量足以抵消要考虑的包围盒的增加数量,从而使得要测试的相交的总数小于在没有定义包围盒和不使用bvh时所需的数量。

在实际的实现中,可以进一步划分这些盒,直到以合适应用的精度水平表示对象210的表面为止,例如,当表示对象的包围盒和多边形(原始)占据相似的显示区域时,在那时可以使用多边形。

在这些示例中,包围盒220可以被认为是bvh中比包围盒230、231更高的级别,例如,包围盒220可以对应于诸如图1中的盒120,而较小的包围盒230、231可以对应于诸如图1的盒130。

从这些图中显而易见的是,通过使用包围盒和bvh,可以显著减少在光线追踪方法中要执行的计算数量;这是因为可以显著减少要评估的相交数量。

通过以更合适的方式定义bvh,可以进一步提高这种处理的效率。在当前的讨论中,这是指可以更快或更有效地遍历的bvh结构,而不一定是bvh结构本身的任何属性。在本公开的实施例中,bvh结构被定义为支持方向依赖性以实现改善的遍历。

图4示意性地示出了三维空间中的立方体;如图所示,每个面都与笛卡尔坐标系中的相应轴对齐(沿正向或负向)。即,立方体400具有在正x方向上对齐的第一面410(在立方体的相对侧上具有在负x方向上对齐的对应面)、在正y方向上对齐的第二面420(在立方体的相对侧上具有在负y方向上对齐的对应面),和在正z方向上对齐的第三面430(在立方体的相对侧上具有在负z方向上对齐的对应面)。

鉴于此,认为通过将对象的表面取向与面410、420、430(或其相对面)之一进行比较,可以标识表面的主要(primary)方向或主导(dominant)方向。也就是说,通过确定哪个面具有最相似的方向,对象的每个表面能够被立方体400的一个面近似(或以其他方式表示)。例如,这可以通过比较表面法线或通过从相关联的元数据等中识别方向来确定。

根据以上讨论,图5示意性地示出了将对象的表面映射到要使用的对应分组的二维示例。该图示出了十二边形500,其每个侧面被分配给四个组510、520、530、540中的一个。这些组中的每个对应于图4中所示的一个面,例如,组540对应于面410,而组530对应面420。

从图中可以明显看出,根据侧面的取向方向将形状500的侧面分配给这些组。例如,很明显,组530中的每个表面都具有基本沿+y方向的取向,也就是说,该面的法线矢量的y分量相对于其他分量将具有最大的量级。

当然,可以认为相同的处理在三个维度上都是适当的,为清楚起见,在此考虑二维情况。在三维情况下,考虑z分量以及x和y分量,应用相同的分析(即确定表面取向的分析)。当然,可以使用任何合适的坐标系,不需要笛卡尔坐标来构成该处理的基础。

通过基于表面取向实现这种表面分组,通过使用这些组,可以根据虚拟环境内的表面取向来生成bvh结构。这是有利的,因为可以基于关于用于光线追踪的光线的方向相对于被渲染的对象的表面取向的信息来选择性地遍历所生成的bvh结构。遍历bvh的处理成本与节点数的对数成正比;因此,通过基于方向性提供多个较小的bvh,来减少遍历每个bvh的成本。通常,这种减少足以至少抵消与遍历多个bvh相关联的处理成本的增加。

下面的讨论参考与每个组相对应的单个bvh,但是,不应将其视为限制性的;下面提供与bvh结构有关的进一步讨论。

例如,考虑图5的对象500的渲染。图6示出了一对入射光线600和610,其可以与包括对象500的虚拟环境中的不同虚拟相机位置相关联。这些光线可以指示虚拟相机的总体方向,或者在确定哪些bvh在光线追踪处理中受到关注时,可以考虑多条光线。当然,在认识到在图像渲染处理期间可以连续(或重复)执行光线追踪处理这一事实时,可以动态方式进行确定,也就是说,该确定可以是确定bvh结构的哪一部分将用于该特定的光线追踪处理。

光线600沿垂直于组540的方向入射,因此对应于组540的bvh对于光线追踪处理可以被认为是必不可少的,在没有任何遮挡等的情况下,该组表面当然是可见的。可以认为与组510和530相对应的bvh有用,很明显,这些组中的每个表面中的至少一些表面对于光线600可见。但是,在某些实施例中,可以省略这些组的bvh,以提供更快或更便宜的光线追踪处理,因为相对取向的影响可能会降低。

当然,在这样的示例中,最终组520完全被遮盖,面向与光线相同的方向(或至少基本上沿相同的方向)的任何表面都不会直接与该光线相交。因此,可以认为,可以完全省略与组520相对应的bvh,而不会对光线追踪处理生成显著影响,因此,这简化了与该光线追踪相关联的遍历处理。

转向光线610,很明显,光线610包括在其方向上的负x分量和正y分量。这意味着光线610入射在组510和540中的表面上,因为这些组中的每一个都包括法向矢量的分量与入射光线610的分量具有至少一个不同符号的表面(即,这些组中的每个表面的法线均带有正x分量和负y分量中的一个或两个)。尽管并非这些组中的每个表面都可以与光线610相交,但是至少有一部分与光线610相交就足够了。

从图6进一步明显看出,光线610没有直接入射在组520或530中的任何表面上。因此,可以省略与这些组相对应的每个bvh,这意味着与光线610相关联的bvh遍历只需要遍历与组510和540相对应的bvh。

当然,这些仅是示例性配置,旨在说明bvh结构的基于方向的遍历的一般原理。下面讨论了许多修改和变型,并且对于本领域技术人员而言,在阅读本公开后将是显而易见的。

例如,尽管以上讨论仅限于与三个笛卡尔坐标轴对齐的立方体表面,但这不是必需的特征。图7示意性地示出了在图5和图6的示例的上下文中的这种修改,其中增加了分组的数量。

在图7的示例中,定义了十二个组700(每个组对应于十二个方向或表面取向中的一个),而不是四个组510、520、530、540。当然,该数量纯粹是示例性的,并且教导可以适当地扩展到任意数量的组(如上所述,还可以扩展到三维),包括较高和较低数量的组。

应当理解,当使用更多数量的组时,将减少对应于每个组的bvh的大小。这可以进一步减少每个bvh的遍历时间,并且还可以基于方向考虑而丢弃(或不遍历)更多数量的bvh。

例如,如果光线600以更新的分组配置入射到图7的形状上,则可以认为光线600仅与五个组700相交(底部组和底部组的每一侧的两组)。与图6的示例相比,所定义组的比例较小(42%对75%),并且由于要遍历的节点总数将更低,因此可能表示处理成本总体下降。

尽管上面使用规则形状进行了描述,但是可以基于替代为不规则的形状的表面取向来进行分组。例如,可以执行对虚拟环境(或被捕获以生成相应的虚拟环境的真实环境)的分析以确定该环境内的表面取向的相对比例。可以根据该分析来确定如何对环境内的表面进行分组。例如,在无法从某些方向查看许多对象的环境中(例如,由于安装在墙壁上),可以考虑使用更不规则的分组,例如,可以定义图5的组520(与壁挂式对象的背面一致),其中组510、530和540被对应的组700取代。

一旦对表面执行了分组,应根据该分组生成bvh。当然,bvh结构可能会有所不同,这可能取决于特定的应用、特定的环境或对象配置或个人喜好等。在bvh分组基于如关于图4所述的立方体的面的背景下,以下讨论提供了一些可能考虑的bvh结构的示例。

图8示意性地示出了示例性bvh结构,其中提供了多个不相关的bvh800。在这种情况下,提供了六个bvh800,一个对应于图4的立方体的每个面。当使用bvh结构时,可以基于与bvh和一个或多个入射光线相关联的方向信息独立选择要使用的bvh800。

图9示意性地示出了示例性bvh结构,其中单个bvh900设置有多个高级节点910,每个高级节点910表示对应于特定表面取向的bvh的分支。例如,每个bvh节点910可以分别对应于由图4的立方体的面近似的表面取向。在这种结构中,可以基于取向信息选择性地遍历节点910。

图10示意性地示出了示例性bvh结构,其中提供了多个bvh1000,每个bvh1000与节点1010的子集相关联。在该示例中,示出了两个bvh1000的相关联以保持附图的清晰度。具体地,bvh1000每个都与五个节点1010的不同集合相关联,因此,每个bvh1000都忽略了与特定方向有关的bvh数据。当然,bvh1000可以被定义为与任何合适数量的节点1010相关联,以提供有效的bvh结构。例如,每个bvh1000可以代替地与成对的节点1010(而不是五个)相关联,并且可以选择多个bvh1000而不是仅仅一个。

这样的布置可能是有利的,因为相对于存储多个bvh,减少了数据存储需求,因为当使用如图9中的单个bvh时,要求被忽略的节点不需要遍历。

可以以任何合适的方式确定要使用哪些bvh。如上所述,第一个示例是考虑表面法线是否在一个或多个坐标方向上共享矢量方向。另一示例是确定针对一个或多个入射光线考虑每个矢量分量(在使用笛卡尔坐标的实施例中的x、y和z坐标)的标志(sign),并将这些矢量输入到以下等式:

bvh_index=sign(direction.x)+2*sign(direction.y)+4*sign(direction.z)

当矢量在给定方向上具有正分量时,将sign()的值设为1,当矢量在给定方向上具有负分量时,将sign()的值设为0,则此等式将根据入射光线的方向定义八个独特的bvh索引。通过将bvh或bvh结构的某些配置(诸如,要使用的节点的选择)与这些bvh索引中的每一个相关联,可以选择适当的bvh信息集合以用于基于方向信息执行光线追踪。当然,可以与所需的索引数量无关地使用类似的等式,其中更新变量以使得能够确定不同的索引数量。

可替代地或另外,可以使用进一步的计算来标识由如上计算的bvh索引所标识的特定组内的bvh组。例如,可以确定每个矢量分量的值是否大于或等于特定阈值,以及这是否改变了光线追踪可能需要的bvh。例如,使用图6的光线600和610,可以将光线600视为具有正y分量(因为它是零),或者可以定义具有非常小的y分量的类似光线。这将导致使用上面的等式标识相同的bvh索引,而光线600更可能与组530中的表面相交。因此,在每个索引中标识出这种不同的情况可能是有利的。

图11示意性地示出了用于执行光线追踪处理的系统。该系统包括bvh标识单元1100、bvh选择单元1110和光线追踪单元1120。这样的系统可以被并入例如图形处理单元或诸如计算机或游戏控制台之类的任何合适的处理设备中。

bvh标识单元1100可操作以标识用于生成虚拟环境的图像的bvh结构,该bvh结构包括关于虚拟环境内的一个或多个表面的信息。这可以包括诸如通过读取硬盘驱动器、或通过网络来接收传输来接收bvh结构,以及确定bvh的结构。例如,这可以包括标识所使用的分组(诸如,组的数量以及那些组的方向依赖性),以及如何配置bvh结构(诸如从参考图8-10讨论的配置或任何其他合适的配置中进行选择)。

关于虚拟环境内的一个或多个表面的信息的参考除了关于其特定取向等的信息之外,还可以理解为关于表面的形状、位置和/或尺寸的信息。表面的其他特征也可以在信息(诸如颜色信息、反射率信息或对象标识符)中适当地指示。

如上所述,bvh结构可以采取任何合适的形式。

在一些实施例中,bvh结构包括多个bvh,每个bvh对应于相应取向或取向范围的表面,并且bvh选择单元可操作以丢弃一个或多个bvh。例如,图8示出了这种结构。

在一些实施例中,bvh结构包括具有多个节点的单个bvh,每个节点对应于相应取向或取向范围的表面,并且bvh选择单元可操作以丢弃bvh的一个或多个节点。例如,图9示出了这种结构。

在一些实施例中,bvh结构包括多个bvh,每个bvh对应于相应取向或取向范围的表面,其中多个bvh中的两个或多个共享一个或多个节点,并且bvh选择单元可操作以丢弃一个或更多bvh。例如,图10示出了这种结构。

如上所述,bvh结构可以包括关于表面的任何合适的信息。在一些实施例中,bvh结构包括根据表面取向标识表面分组的信息,这可以包括组的标识(以及相关联的参数,诸如与组相关联的取向)以及对这些组的表面分配。在某些情况下,每个组都对应于三维形状的面(尽管当然可以考虑使用其他形状,诸如在二维实现中),并且将每个表面分配给对应于面的组,该面的表面法线最接近表面的表面法线。如参考图4所讨论的,在一些实施例中,三维形状为立方体可被认为是合适的,尽管在其他情况下,其他形状可能更适当。

bvh选择单元1110可操作以根据入射光线的方向丢弃bvh结构的一个或多个元素;即,bvh选择单元1110可操作以根据入射光线的方向来确定要用于光线追踪的bvh元素的分组。

换句话说,bvh选择单元1110可操作以确定bvh结构的哪些部分将被用于光线追踪处理(或当时至少正在执行的处理的一部分,诸如与渲染单个图像帧等相关联的处理)。元素可以指形成被称为bvh结构的bvh组的单个bvh,和/或适当时指bvh的节点。

选择处理可以以任何合适的方式执行。在一些实施例中,bvh选择单元1110可操作以丢弃一个或多个bvh元素,该一个或多个bvh元素对应于取向与入射光线共享至少第一矢量分量符号的表面。

在一些实施例中,丢弃处理可能导致丢弃bvh结构的所有元素,这些元素对于执行光线追踪处理不是必需的。例如,可以丢弃bvh的除了要利用的那些节点以外的所有节点,或者可以丢弃不包括用于特定取向的表面的节点的所有bvh。也就是说,可以执行bvh结构的元素的丢弃,以便减少被认为是任何合适程度的节点数量。

例如,在图8的示例中,这可能导致丢弃任何一个或多个bvh800;对于参考图9和bvh910讨论的实施例,可以执行类似的丢弃。在图10的实施例中,可以丢弃任何数量(诸如五个,尽管任何其他数量可能是合适的)的bvh结构1000(以及相应的未使用的bvh1010)。

光线追踪单元1120可操作以使用剩余的bvh元素执行光线追踪处理。如上所述,光线追踪处理可以形成诸如计算机游戏或视频的一般图像渲染处理的一部分。

图11的布置是处理器(例如,位于游戏控制台或任何其他计算设备中的gpu和/或cpu)的示例,该处理器可操作以执行光线追踪处理(例如,作为图像渲染功能的一部分),并且特别可操作以:

标识用于生成虚拟环境的图像的bvh结构,该bvh结构包括关于虚拟环境中一个或多个表面的信息;

根据入射光线的方向丢弃bvh结构的一个或多个元素;和

使用剩余的bvh元素执行光线追踪处理。

图12示意性地示出了用于生成在光线追踪处理中使用的bvh的系统。该系统包括表面标识单元1200、表面分组单元1210和bvh结构生成单元1220。该系统可以在内容创建系统中实现,例如,诸如用于设计虚拟环境或用于根据输入的实际环境信息生成它们的计算机。

表面标识单元1200可操作以标识虚拟环境内的一个或多个表面。该标识可以包括确定关于环境中表面的任何适当信息,例如,取向、尺寸、形状、颜色、反射率或该表面所属对象的标识。尽管这里参考虚拟环境,但是可以设想,可以将相同的技术应用于真实环境的图像或视频作为虚拟环境的生成处理的一部分。

表面分组单元1210可操作以根据所标识的表面取向来生成一个或多个表面的分组。可以根据以上示例中的任何一个或实际上任何合适的处理来实施分组处理。例如,分组处理可以包括为每个组标识代表性的取向(诸如确定单位立方体的每个面的表面法线方向),然后将每个标识的表面分配给具有最相似(或适当相似)表面法线的一个或多个组。

从该讨论显而易见的是,在适当的情况下,可以将表面分配给一个以上的分组。例如,如果两组是同等(或基本同等)适当的(例如,每组的表面法线在所分配表面的表面法线的阈值差之内),则可以将表面放置在两组中。尽管这当然会由于重复而增加bvh结构的尺寸,但是当以合适的方式实现时,它可能会导致bvh结构遍历更有效。例如,但是允许组有效地重叠,在至少一些用例中,可以利用较少数量的bvh或bvh节点。

bvh结构生成单元1220可操作以根据所生成的分组来生成bvh,其中,bvh结构包括一个或多个元素以及关于一个或多个表面的信息。

图12的布置是处理器(例如,位于游戏控制台或任何其他计算设备中的gpu和/或cpu)的示例,该处理器可操作以生成用于光线追踪处理中的bvh,并且特别可操作以:

标识虚拟环境中的一个或多个表面;

根据所标识的表面取向生成一个或多个表面的分组;和

根据所生成的分组来生成bvh,其中,bvh结构包括一个或多个元素以及关于一个或多个表面的信息。

图13示意性地示出了用于执行光线追踪处理的方法,该方法可以例如使用图11的布置来实现。在一些实施例中,该方法可以形成图像渲染处理的一部分。

步骤1300包括标识用于在生成虚拟环境的图像中使用的层次包围盒(bvh)结构,该bvh结构包括关于虚拟环境内的一个或多个表面的信息。

步骤1310包括根据入射光线的方向丢弃bvh结构的一个或多个元素。

步骤1320包括使用剩余的bvh元素执行光线追踪处理。

图14示意性地示出了用于在光线追踪处理中使用的生成bvh的方法。例如,可以使用图11的布置来实现图14的方法。

步骤1400包括标识虚拟环境内的一个或多个表面。

步骤1410包括根据所标识的表面取向来生成一个或多个表面的分组。

步骤1420包括根据所生成的分组来生成bvh,其中,bvh结构包括一个或多个元素,以及关于一个或多个表面的信息。

如上所述,本公开的实施例可以使得能够生成更有效的bvh结构,因而可以减少遍历所生成的bvh结构的成本。由于减少了光线追踪处理时间,因此遍历处理成本的这种减少可能导致更具响应性的图像渲染时间,或者在不显著增加相关联处理成本的情况下能够生成更高质量的图像。

可以以硬件、软件或两者的组合来实现上述技术。在采用软件控制的数据处理装置来实现实施例的一个或多个特征的情况下,将理解的是,这种软件以及诸如提供这种软件的非暂时性机器可读存储介质的存储或传输介质也被认为是本公开的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1