三维场景的可见性函数制造技术

技术编号:21660383 阅读:17 留言:0更新日期:2019-07-20 06:03
本发明专利技术特别涉及一种用于计算三维(3D)场景的可见性函数的计算机实现的方法。该方法包括:提供3D场景中的方向

Visibility function of three-dimensional scene

【技术实现步骤摘要】
三维场景的可见性函数
本专利技术涉及计算机程序和系统领域,并更具体地,涉及用于计算三维(3D)场景的可见性函数的方法、系统和程序。
技术介绍
在现代渲染应用中,真实感对图像质量提出了越来越高的要求,带来了一系列关键问题,尤其是对于实时场景。实时场景包括场景的实时渲染。“实时”指的是可以在现有硬件上在几毫秒(一般小于100ms)内执行的技术。“场景”是定义渲染的几何形状、材料、灯光和相机的集合。普遍性的高效可见性查询机制是实时渲染引擎中最关键的组成部分之一,它位于大多数与渲染方程的实时近似求解相关的问题的核心。普遍性的高效可见性查询机制需要具有“全局可见性”函数,该函数获取空间中的一对点,并且当且仅当场景中存在与由这两个点形成的段相交的已有几何形状时,才返回“真(true)”。“可见性查询”是对关于两个给定点的全局可见性函数的评估。现在讨论一些现有的技术,其目的是解决实时场景中的全局可见性计算问题。这些技术中的大多数是基于光线步进(raymarching)技术的。光线步进是一种旨在计算光线与场景的相交的技术,并且其工作原理如下。光线标记要求一种数据结构,该数据结构既能对场景进行采样,又能提供有效的机制来计算段的轨迹,即数据结构中可能与该段相交的样本的集合。样本是这种数据结构的元素,并且包含与该样本相关联的描述符集合,这允许构建局部重建场景;局部重建不一定是精确的。该算法操作如下。首先,在数据结构中对场景进行采样。然后,触发可见性查询:对于每一对点,计算该段的轨迹,并且对于该轨迹中的每个样本,使用相应的描述符计算该段与场景的重建之间的相交测试。接下来,返回一个值,该值是所有相交测试的函数(通常是第一个相交的距离)。然而,现有的依赖于光线步进技术的解决方案存在几个缺点。尽管现有硬件提供了不断增长的计算能力,但是传统方法并不总是自然地适应更新的架构视角,常常不能利用其全部计算能力或仅限于非常特定的用途,诸如单视图可见性确定。此外,传统方法所依赖的数据结构在执行可见性函数时涉及大量的内存访问;尤其是,这些数据结构包括许多指针。然而,存储器访问增加了可见性函数的执行时间,而执行时间对于实时渲染而言是至关重要的。在这种情况下,仍然存在对于用于计算三维场景的可见性函数的改善方法的需求。
技术实现思路
因此,提供了一种用于计算三维(3D)场景的可见性函数的计算机实现的方法。该方法包括:-提供3D场景中的方向集合;-对于该集合中的每个方向,计算与该方向平行的线集合;-对于所计算的每个线集合,将该线集合中的线采样到空间段中;-将线集合中的每条线与位字段相关联,该线的每个空间段对应于所述位字段中的位;-将所述线集合与所述3D场景相叠加;-当线的空间段与3D场景中的几何形状相交时,标记所述线相关联的位字段中的与该空间段相对应的位;-提供在3D场景中的定义查询段的两个点;-识别与查询段具有最接近对齐的一个或多个空间段;-通过对所识别的一个或多个空间段所属于的线的一个或多个位字段执行逻辑位运算,来计算所述查询段的可见性。该方法可以包括以下一项或多项:-执行逻辑位运算包括通过计算函数R=(X-1)NAND(Y-1)ANDD,来执行段[XY]的逻辑位运算,其中:X是位字段中的一个或多个位,其在查询段的两个点中的一个点处被设置为1,在其他位置被设置为0;Y是位字段中的一个或多个位,其在查询段的两个点中的另一个点处被设置为1,在其他位置被设置为0;D是所识别的一个或多个空间段所属于的线的一个或多个位字段;-提供3D场景中的方向集合包括:对单位半球的参数化进行量化;-对单位半球的参数化进行量化包括:执行半球的八面体映射;-为方向计算的平行线是从与该方向正交的平面上的网格计算的;-在所述平面上的所述网格是规则网格,并且其中,所述网格对于与每个方向正交的每个平面都是相同的;-对于每个平面,计算用于定义该平面上的所述网格的位置的局部基(localbasis),所述局部基包括:从方向获得的第一向量、作为该平面的局部基的第二向量和第三向量-第二向量和第三向量连续地依赖于方向-对方向的连续依赖性由如下给出:即,x2+y2+z2=1和z≥0其中,是单位半球;定义了给定方向的切向空间;(x,y,z)是基于单位半球的坐标;-识别与查询段具有最接近的对齐的一个或多个空间段包括:-在所述方向集合中确定最接近的方向;-确定与所确定的最接近的方向相关联的平面;-将查询段投影到所确定的平面上;-确定与所投影的查询段最接近的线;-针对所提供的方向的所计算的线集合中的每条线是与该方向正交的平面上的像素,所提供的方向的线集合在所述平面上形成像素网格,并且其中,确定与所投影的查询段最接近的线包括确定所述平面的与所投影的查询段相交的像素,所投影的查询段在所述平面上形成一组连续像素;-在所述方向集合中确定最接近的方向包括:计算查询段的方向并计算在单位半球的参数化中的该段的位置,在方向集合中选择与在单位半球的参数化中的该段的位置最接近的方向;-在提供查询段之前:-将视口细分为超像素的集合,超像素是视口中的一组连续像素;-对于每个超像素,计算该超像素的一个或多个像素群集,每个所计算的群集包括具有一个公共像素参数的像素;-对于每个群集,计算表示该群集中的像素的至少一个参数的平均值的样本,并将对所计算的样本的引用(reference)添加到从中计算了该群集的超像素;并且进一步包括:在计算段查询的可见性之后:-通过针对视口的每个像素计算该像素所属于的超像素的全部样本的加权和,来针对视口的每个像素重建最终图像。还提供了一种包括用于执行所述方法的指令的计算机程序。还提供了一种其上记录有所述计算机程序的计算机可读存储介质。还提供了一种系统,其包括耦合到具有图形处理单元的图形卡的处理器,所述存储器中记录有所述计算机程序。附图说明现在将借助于非限定性实施例以及参考附图来描述本专利技术的实施例,其中:-图1示出了该方法的示例的流程图;-图2示出了用于执行该方法的示例的系统的示例;-图3-8示出了图1的步骤S10到S80的示例;-图9-13示出了图1的步骤S90的示例;-图14示出了图1的流水线的示例;以及-图15-17示出了空间参数化的示例;具体实施方式参照图1的流程图,提出一种用于计算三维(3D)场景的可见性函数的计算机实现的方法。“可见性函数(visibilityfunction)”是这样的函数:其获取空间中的一对点,并且当且仅当场景中存在与由这两个点形成的段相交的已有几何形状时,才返回“真(true)”。该方法首先在所有方向上执行体素化。“体素化(voxelization)”是生成体素集合的过程,其中“体素(voxels)”是存储底层场景的描述符的体积元素的集合。这是通过提供在3D场景中的方向集合来实现的。然后,对于该集合中的每个方向,计算线集合;该线集合中的线与该方向平行。接下来,对于所计算的每个线集合,将该集合中的线采样到空间段中。将线集合中的每条线与位字段相关联;该线的每个空间段对应于所述位字段中的位。然后,将线集合和3D场景相叠加。当线的空间段与3D场景中的几何形状相交时,标记与该线相关联的位字段的与该空间段相对应的位。然后该方法执行可见性查询。在3D场景中提供了两个点。这两个点定义了本文档来自技高网
...

【技术保护点】
1.一种用于计算三维(3D)场景的可见性函数的计算机实现的方法,包括:‑提供(S10)所述3D场景中的方向

【技术特征摘要】
2017.12.24 EP 17306930.31.一种用于计算三维(3D)场景的可见性函数的计算机实现的方法,包括:-提供(S10)所述3D场景中的方向集合;-对于所述集合中的每个方向,计算(S20)与该方向平行的线集合;-对于每个所计算的线集合,将该线集合中的线采样(S30)到空间段中;-将集合中的每条线与位字段相关联(S40),该线的每个空间段对应于所述位字段中的位;-将所述线集合与所述3D场景相叠加(S50);-当线的空间段与所述3D场景中的几何形状相交时,标记(S60)与所述线相关联的所述位字段中的与该空间段相对应的位;-提供(S70)在所述3D场景中的定义查询段的两个点;-识别(S80)与所述查询段具有最接近的对齐的一个或多个空间段;-通过对所识别的一个或多个空间段所属于的线的一个或多个位字段执行逻辑位运算,来计算(S90)所述查询段的可见性。2.如权利要求1所述的计算机实现的方法,其中,执行逻辑位运算包括通过计算函数R=(X-1)NAND(Y-1)ANDD,来执行段[XY]的逻辑位运算,其中:X是位字段中的一个或多个位,其在所述查询段的所述两个点中的一个点处被设置为1,而在其他位置被设置为0;Y是位字段中的一个或多个位,其在所述查询段的所述两个点中的另一个点处被设置为1,而在其他位置被设置为0;D是所识别的一个或多个空间段所属于的线的一个或多个位字段。3.如权利要求1-2中任一项所述的计算机实现的方法,其中,提供所述3D场景中的方向集合包括:对单位半球的参数化进行量化。4.如权利要求3所述的计算机实现的方法,其中,对单位半球的参数化进行量化包括:执行所述半球的八面体映射。5.如权利要求1-4中任一项所述的计算机实现的方法,其中,为方向计算的平行线是从与该方向正交的平面上的网格计算的。6.如权利要求5所述的计算机实现的方法,其中,在所述平面上的所述网格是规则网格,并且其中,所述网格对于与每个方向正交的每个平面都是相同的。7.如权利要求5-6中任一项所述的计算机实现的方法,进一步包括:-对于每个平面,计算用于定义所述网格在所述平面上的位置的局部基,所述局部基包括:从所述方向获得的第一向量...

【专利技术属性】
技术研发人员:G·劳伦特C·德拉朗德尔T·鲍贝库尔
申请(专利权)人:达索系统公司
类型:发明
国别省市:法国,FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1