一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

呈现扩展现实环境中的三维对象的方法和设备与流程

2022-06-08 22:46:44 来源:中国专利 TAG:


1.本发明大体上涉及扩展现实(extended reality;xr)模拟,具体地说,涉及呈现xr环境中的三维对象的方法和设备。


背景技术:

2.如今流行用于模拟感觉、感知和/或环境的xr技术,例如虚拟现实(virtual reality;vr)、增强现实(augmented reality;ar)以及混合现实(mixed reality;mr)。前述技术可应用于例如游戏、军事训练、医疗保健、远程工作等多个领域中。
3.在xr中,环境中存在大量虚拟对象和/或真实对象。基本上,这些对象基于其深度而呈现到帧(frame)上。也就是说,更接近用户侧的一个对象将覆盖离用户侧较远的另一个对象。然而,在一些情况下,即使一些对象被其他对象覆盖,这些对象应当一直展现在帧上。


技术实现要素:

4.即便对象的一部分被其他对象覆盖,仍有需要呈现对象的整体。因此,本发明实施例是针对一种呈现xr环境中的三维对象的方法和设备,以修改默认的呈现规则。
5.在示例性实施例的一个中,一种呈现xr环境中的三维对象的方法包含但不限于以下步骤。在第一渲染图层(render pass)上展现第一对象的第一部分与第二对象,而不展现第一对象的第二部分。第一对象的第一部分比第二对象更接近用户侧。第二对象比第一对象的第二部分更接近用户侧。在第二渲染图层上展现第一对象的第二部分与第二对象,而不展现第一对象的第一部分。基于第一渲染图层和第二渲染图层产生最终帧。第一对象的第一部分和第二部分以及第二对象展现在最终帧中,且最终帧用于在显示器上显示。
6.在示例性实施例中的一个中,一种呈现xr环境中的三维对象的设备包含但不限于存储器和处理器。存储器存储程序代码。处理器耦接存储器且加载程序代码以执行以下步骤。处理器在第一渲染图层上展现第一对象的第一部分与第二对象,而不展现第一对象的第二部分。第一对象的第一部分比第二对象更接近用户侧。第二对象比第一对象的第二部分更接近用户侧。处理器在第二渲染图层上展现第一对象的第二部分与第二对象,而不展现第一对象的第一部分。处理器基于第一渲染图层和第二渲染图层产生最终帧。第一对象的第一部分和第二部分以及第二对象展现在最终帧中,且最终帧用于在显示器上显示。
7.基于上述,根据本发明实施例的一种呈现xr环境中的三维对象的方法和设备,即便第一对象的第二部分未比第二对象更接近用户侧,第一对象的第二部分仍呈现在一个渲染图层中,且第一对象的整体将完整呈现在最终帧中。藉此,可提供灵活的方式来渲染三维对象。
8.然而,应理解,此概述可能不含有本发明的所有方面和实施例,不意图以任何方式具有限制性或局限性,且如本文中所公开的发明由且将由本领域的普通技术人员理解为涵盖对其所作的明显改进和修改。
附图说明
9.包含附图以提供对本发明的进一步理解,且附图并入本说明书中并构成本说明书的一部分。附图示出本发明的实施例,且与描述一起用于解释本发明的原理。
10.图1为示出根据本发明的示例性实施例中的一个的呈现xr环境中的三维对象的设备的方块图;
11.图2为示出根据本发明的示例性实施例中的一个的呈现xr环境中的三维对象的方法的流程图;
12.图3a为示出根据本发明的示例性实施例中的一个的第一渲染图层的示意图;
13.图3b为图3a的位置关系的俯视图;
14.图4a为示出根据本发明的示例性实施例中的一个的第二渲染图层的示意图;
15.图4b为图4a的位置关系的俯视图;
16.图5a为示出根据本发明的示例性实施例中的一个的最终帧的示意图;
17.图5b为图5a的位置关系的俯视图。
18.附图标号说明
19.100:设备;
20.110:存储器;
21.130:处理器;
22.150:显示器;
23.o1:第一对象;
24.o11:第一部分;
25.o12:第二部分;
26.o2:第二对象;
27.s210、s230、s250:步骤;
28.u:用户。
具体实施方式
29.现将详细参考本发明的优选实施例,其实例在附图中示出。只要可能,相同附图标号在附图和描述中用以指代相同或相似部分。
30.图1为示出根据本发明的示例性实施例中的一个的呈现xr环境中的三维对象的设备100的方块图。参看图1,设备100包含但不限于存储器110和处理器130。在一个实施例中,设备100可为计算机、智能电话、头戴式显示器、数字眼镜、平板计算机或其它计算装置。在一些实施例中,设备100适于例如vr、ar、mr的xr或其它现实模拟相关技术。
31.存储器110可以是任何类型的固定或可移动随机存取存储器(random-access memory;ram)、只读存储器(read-only memory;rom)、闪存、类似装置或以上装置的组合。存储器100存储程序代码、装置配置、缓冲数据或永久性数据(例如呈现参数、渲染图层或帧),且稍后将引入这些数据。
32.处理器130耦接存储器110。处理器130配置成加载存储在存储器110中的程序代码,以执行本发明的示例性实施例的程序。
33.在一些实施例中,处理器130可为中央处理单元(central processing unit;
cpu)、微处理器、微控制器、图形处理单元(graphics processing unit;gpu)、数字信号处理(digital signal processing;dsp)芯片、现场可编程门阵列(field-programmable gate array;fpga)。处理器130的功能还可通过独立电子装置或集成电路(integrated circuit;ic)来实施,且处理器130的操作还可由软件来实施。
34.在一个实施例中,设备100还包含显示器150,例如lcd、led显示器或oled显示器。
35.在一个实施例中,hmd或数字眼镜(即,设备100)包含存储器110、处理器130以及显示器150。在一些实施例中,处理器130可不安置在具有显示器150的同一设备处。然而,分别装配有处理器130和显示器150的设备可还包含具有兼容通信技术的通信收发器(例如蓝芽、wi-fi以及ir无线通信或物理传输线路)以彼此传输数据或接收数据。举例来说,处理器130可安置在计算机中,而显示器150安置在计算机外部的监视器处。
36.为了更好地理解本发明的一或多个实施例中提供的操作程序,在下文将举例说明若干实施例以详细解释设备100的操作程序。在以下实施例中应用设备100中的装置和模块以解释本文中所提供的呈现xr环境中的三维对象的方法。方法的每一步骤可根据实际实施情况进行调整,且不应限于本文中所描述的内容。
37.图2为示出根据本发明的示例性实施例中的一个的呈现xr环境中的三维对象的方法的流程图。参看图2,处理器130可在第一渲染图层上展现第一对象的第一部分与第二对象,而不展现第一对象的第二部分(步骤s210)。具体来说,第一对象和第二对象可为真实或虚拟的三维场景、虚拟化身、视频、图片或三维xr环境中的其它虚拟或真实对象。三维环境可为游戏环境、虚拟社会环境或虚拟会议。在一个实施例中,第一对象的内容比第二对象的内容具有更高优先级。举例来说,第一对象可为用户接口,例如菜单、导航栏、虚拟键盘的窗口、工具栏、小组件、背景或应用程序快捷方式。有时,用户接口可包含一或多个图标。第二对象为墙、门或桌子。在一些实施例中,同一xr环境中存在其它对象。
38.另外,第一对象包含第一部分和第二部分。假定在显示器150上的用户的一个视图中,第一对象的第一部分比第二对象更接近用户侧。然而,第二对象比第一对象的第二部分更接近用户侧。此外,在用户的此视图中,第二对象与第一对象的第二部分交叠。在一些实施例中,在用户的此视图中,第二对象可与第一对象的第一部分进一步交叠。
39.另一方面,在多图层(pass)技术中,同一对象可呈现多次,而进行单独计算的对象的每次呈现积累成最终值。具有一组特定状态的对象的每次呈现被称作“图层”或“渲染图层(render pass)”。
40.在一个实施例中,处理器130可将深度阈值配置为在深度测试之后更新,将深度测试配置为如果第一对象或第二对象的像素的深度不大于深度阈值,那么在第一渲染图层上绘制第一对象或第二对象的像素,以及将深度测试配置为如果第一对象或第二对象的像素的深度大于深度阈值,那么不在第一渲染图层上绘制第一对象或第二对象的像素。具体来说,深度为从用户侧到对象的特定像素的距离的测量。当实施深度测试(例如unity着色器(shader)的ztest)时,将在渲染图层上添加深度纹理(或深度缓冲区)。深度纹理以一种色彩纹理保存一个色彩值的相同方式来存储第一对象或第二对象的每个像素的深度值。深度值是通常通过计算每个顶点的深度且使硬件篡改这些深度值而针对每个顶点(vertex)计算出来的。处理器130可测试对象的新片段(fragment)以查看所述片段是否比存储在深度纹理中的当前值(在实施例中被称作深度阈值)更接近用户侧。也就是说,确定第一对象或
第二对象的像素的深度是否小于深度阈值。以unity着色器为例,将ztest的功能设置为“小于等于”,且如果(或只有当)顶点的深度值小于或等于所存储深度值(即,深度阈值),那么将通过深度测试。否则,处理器130可舍弃顶点。也就是说,如果(或只有当)第一对象或第二对象的像素的深度不大于深度阈值,那么在第一渲染图层上绘制第一对象或第二对象的像素。此外,如果(或只有当)第一对象或第二对象的像素的深度大于深度阈值,那么在第一渲染图层上舍弃第一对象或第二对象的像素。
41.另外,以unity着色器为例,如果将zwrite的功能设置为“开启”,那么如果(或只有当)顶点的深度通过深度测试,则将更新深度阈值。
42.在一个实施例中,第一,关于第一对象的第二部分的像素,将在第一渲染图层上绘制像素,且深度阈值将更新为第一对象的第二部分的深度。第二,关于第二对象的像素,将在第一渲染图层上绘制像素。第二对象将覆盖第一对象的第二部分,且深度阈值将更新为第二对象的深度。第三,关于第一对象的第一部分的像素,将在第一渲染图层上绘制像素,且深度阈值将更新为第一对象的第一部分的深度。此外,第一对象的第一部分可覆盖第二对象。
43.举例来说,图3a为示出根据本发明的示例性实施例中的一个的第一渲染图层的示意图,且图3b为图3a的位置关系的俯视图。参看图3a和图3b,假定第二对象o2为虚拟墙,且用户u站在第二对象o2的前方。然而,如图3b中所示,第二对象o2的表面不平行于用户u的用户侧,且第一对象o1的第二部分o12位于第二对象o2后面。因此,在第一渲染图层中,第一对象o1的第二部分o12由第二对象o2全部覆盖,以使得第一对象的第二部分不可见。然而,第一对象o1的第一部分o11覆盖第二对象o2。也就是说,如图3a中所示,第一对象o1的第一部分o11是可见的。
44.处理器130可在第二渲染图层上展现第一对象的第二部分与第二对象,而不展现第一对象的第一部分(步骤s230)。与第一渲染图层的规则不同,在一个实施例中,处理器130可将深度阈值配置为在深度测试之后不更新,将深度测试配置为响应于第一对象或第二对象的像素的深度大于深度阈值而在第二渲染图层上绘制第一对象或第二对象的像素,以及将深度测试配置为响应于第一对象或第二对象的像素的深度不大于深度阈值,而不在第二渲染图层上绘制第一对象或第二对象的像素。具体来说,确定第一对象或第二对象的像素的深度是否大于深度阈值。以unity着色器为例,将ztest的功能设置为“大于”,且如果(或只有当)顶点的深度值大于所存储深度值(即,深度阈值),那么将通过深度测试。否则,处理器130可舍弃顶点。也就是说,如果(或只有当)第一对象或第二对象的像素的深度大于深度阈值,那么在第二渲染图层上绘制第一对象或第二对象的像素。此外,如果(或只有当)第一对象或第二对象的像素的深度不大于深度阈值,那么在第二渲染图层上舍弃第一对象或第二对象的像素。
45.另外,以unity着色器为例,如果将zwrite的功能设置为“关闭”,那么如果(或只有当)顶点的深度通过深度测试,将不更新深度阈值。
46.在一个实施例中,第一,关于第一对象的第二部分的像素,将在第二渲染图层上绘制像素,且深度阈值将更新为第一对象的第二部分的深度。第二,关于第二对象的像素,可在第二渲染图层上绘制像素而非与第一对象的第二部分交叠的部分。第一对象的第二部分将覆盖第二对象,且深度阈值将维持为第一对象的第二部分的深度。第三,关于第一对象的
第一部分的像素,将在第二渲染图层上舍弃像素,且深度阈值将维持为第一对象的第二部分的深度。此外,第二对象可覆盖第一对象的第一部分。
47.举例来说,图4a为示出根据本发明的示例性实施例中的一个的第二渲染图层的示意图,且图4b为图4a的位置关系的俯视图。参看图4a和图4b,如图4b中所示,第一对象o1的第二部分o12位于第二对象o2的后面。因此,在第二渲染图层中,第一对象o1的第一部分o11被第二对象o2全部覆盖,以使得第一对象o1的第一部分o11不可见。然而,第一对象o1的第二部分o12覆盖第二对象o2。也就是说,如图4b中所示,第一对象o1的第二部分o12是可见的。
48.在一个实施例中,处理器130可对第一对象的第二部分与第二对象执行透明度合成(alpha compositing)。透明度合成为将一个图像与背景或另一个图像合并以产生部分或全部透明的外观的程序。当图顶点素(像素)在单独图层或层中呈现时,且接着将所得二维图像合并为被称作合成图像的单个最终图像/帧。将第一对象的第二部分的像素与第二对象的像素合并。
49.举例来说,参看图3a和图4a,第一对象o1的第二部分o12部分透明,且合并第二部分o12和第二对象o2的像素。然而,第一对象o1的第一部分o11展现为不透明。
50.在一些实施例中,可对第一对象的第二部分执行灰度处理或另一个图像处理。
51.处理器130可基于第一渲染图层和第二渲染图层产生最终帧(步骤s250)。具体来说,最终帧用于在显示器150上显示。在第一渲染图层中,展现第一对象的第一部分,而不展现第二部分。在第二渲染图层中,展现第一对象的第二部分,而不展现第一部分。处理器130可将在第一渲染图层和第二渲染图层中的任一个上展现的部分对象或整个对象呈现到最终帧上。最后,第一对象的第一部分和第二部分以及第二对象均展现在最终帧中。接着,用户可在显示器150上查看第一对象的第一部分和第二部分(其可为第一对象的整体)。
52.举例来说,图5a为示出根据本发明的示例性实施例中的一个的最终帧的示意图,且图5b为图5a的位置关系的俯视图。参看图5a和图5b,基于图3a的第一渲染图层和图4a的第二渲染图层,在最终帧中,展现第一对象o1的第一部分o11和第二部分o12以及第二对象o2。因此,用户u可在显示器150上查看整个用户接口。
53.综上所述,在本发明实施例的呈现xr环境中的三维对象的方法和设备中,位于较远位置的第一对象的第二部分可呈现在一个渲染图层中。接着,即将显示在显示器的最终帧可通过具有第一对象的第二部分的渲染图层来产生。藉此,第一对象的第一及第二部分将绘制于最终帧上。此外,提供可弹性的方式来渲染三维对象。
54.本领域的技术人员将显而易见的是,在不脱离本发明的范围或精神的情况下,可对本发明的结构进行各种修改和变化。鉴于前述,希望本发明涵盖本发明的修改和变化,前提是所述修改和变化落入所附权利要求和其等效物的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献