CN114529647A - 对象渲染方法、设备、装置、电子设备及存储介质 - Google Patents
对象渲染方法、设备、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114529647A CN114529647A CN202210152713.4A CN202210152713A CN114529647A CN 114529647 A CN114529647 A CN 114529647A CN 202210152713 A CN202210152713 A CN 202210152713A CN 114529647 A CN114529647 A CN 114529647A
- Authority
- CN
- China
- Prior art keywords
- target
- information
- area
- virtual object
- sub
- 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.)
- Withdrawn
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000000007 visual effect Effects 0.000 claims description 59
- 238000012800 visualization Methods 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000002699 waste material Substances 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种对象渲染方法、设备、装置、电子设备及存储介质,该方法包括:获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
Description
技术领域
本公开涉及三维模型技术领域,具体而言,涉及一种对象渲染方法、设备、装置、电子设备及存储介质。
背景技术
随着技术的发展,越来越多的场景中需要渲染三维模型;比如,增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)、数字孪生项目等。
一般的,现实场景中需要加载渲染的虚拟对象的数量较多,若在虚拟对象的渲染过程中,将各个虚拟对象的数据均加载在内存,会造成渲染过程中计算资源的浪费,使得虚拟对象的渲染效率较低。
发明内容
有鉴于此,本公开至少提供一种对象渲染方法、设备、装置、电子设备及存储介质。
第一方面,本公开提供了一种对象渲染方法,包括:
获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
上述方法中,获取目标场景区域对应的八叉树信息,由于八叉树信息用于表征各个虚拟对象的位置与各个子三维区域之间的映射关系,通过基于虚拟相机当前的拍摄参数信息,使用八叉树信息依次对各个子三维区域进行遍历,能够较高效和较精准的从目标场景区域内的各虚拟对象中,确定位于虚拟相机的可视化区域的目标虚拟对象,实现了在三维空间内对目标场景区域中各个虚拟对象的精细化管理;并在虚拟相机的拍摄画面中,对目标虚拟对象进行渲染展示,提高了渲染展示的效果。
一种可能的实施方式中,根据下述步骤生成所述目标场景区域对应的八叉树信息:
获取所述目标场景区域内各个虚拟对象的位置信息;
基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息。
这里,可以利用各个虚拟对象的位置信息和目标场景区域的区域信息,生成目标场景区域对应的八叉树信息,为后续确定目标虚拟对象提高数据支持。
一种可能的实施方式中,所述基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息,包括:
将所述目标场景区域作为目标区域,基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域,得到每个子三维区域的区域信息;以及
基于所述虚拟对象的位置信息和所述子三维区域的区域信息,确定每个子三维区域内包括的虚拟对象的数量;
在任一子三维区域内包括的虚拟对象的数量为多个的情况下,将所述任一子三维区域作为新的目标区域,返回至基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域的步骤,直至每个子三维区域内最多存在一个虚拟对象;
将各个子三维区域作为节点,将子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成所述目标场景区域对应的八叉树信息。
一种可能的实施方式中,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,包括:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
从所述目标场景区域对应的八叉树信息包括的各个节点中,确定对应的子三维区域位于所述当前可视化区域内的当前节点;
基于所述当前节点对应的节点信息,确定所述目标虚拟对象。
这里,在确定虚拟相机的当前可视化区域之后,可以从目标场景区域对应的八叉树信息包括的多个节点中,确定对应的子三维区域位于当前可视化区域内的当前节点;进而根据当前节点对应的节点信息,能够较精准的确定目标虚拟对象,缓解将不位于当前可视化区域内的虚拟对象确定为目标虚拟对象时造成的渲染资源浪费,提高了对象渲染效率和精准度。
一种可能的实施方式中,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,包括:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
将所述八叉树信息中的根节点作为目标节点,基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域部分位于所述当前可视化区域,将与所述目标节点相连的每个子节点作为目标节点,返回至基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域完全位于所述当前可视化区域,则将所述目标节点对应的节点信息包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
上述方式中,通过判断目标节点对应的子三维区域与当前可视化区域之间的区域重叠情况,在子三维区完全处于当前可视化区域内时,将该子三维区域内包括的虚拟对象确定为目标虚拟对象,在子三维区完全处于当前可视化区域外时,可以确定该子三维区域内包括的虚拟对象不属于目标虚拟对象等,提高了确定目标虚拟对象的准确度。
一种可能的实施方式中,所述在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示,包括:
获取目标虚拟对象的位置指示信息;其中,所述位置指示信息包括构建成所述目标虚拟对象的各个三角面片的顶点信息;
基于所述目标虚拟对象的位置指示信息,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
以下装置、电子设备等的效果描述参见上述方法的说明,这里不再赘述。
第二方面,本公开提供了一种对象渲染设备,包括:中央处理器CPU和图形处理器GPU;
所述CPU,用于存储目标场景区域中各个虚拟对象的位置指示信息,并从目标场景区域内的各虚拟对象中确定目标虚拟对象之后,将所述目标虚拟对象的位置指示信息传输至所述GPU;其中,所述目标虚拟对象为利用第一方面或任一实施方式所述的对象渲染方法确定的;
所述GPU,用于将接收到的所述目标虚拟对象的位置指示信息存储至内部存储器中;并通过读取所述内部存储器中所述目标虚拟对象的位置指示信息,在虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
这里,通过利用第一方面或任一实施方式所述的对象渲染方法,较精准的确定了目标虚拟对象之后,可以将目标虚拟对象的位置指示信息发送给GPU,无需向GPU发送其他虚拟对象的位置指示信息,减少了信息传输量,缓解将无需渲染的其他虚拟对象的位置指示信息发送给GPU时造成带宽资源的消耗,提高了带宽资源的利用率。同时,将目标虚拟对象的位置指示信息加载至内部存储器(内存),无需将其他虚拟对象的位置指示信息加载至内存中,减少了内存的开销,提高了内存的利用率。
一种可能的实施方式中,所述CPU,还用于在目标虚拟对象更新之后,将更新后的目标虚拟对象的位置指示信息发送给所述GPU;
所述GPU,还用于将所述内部存储器中与所述更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除;以及,将所述更新后的目标虚拟对象中,未存储的目标虚拟对象的位置指示信息存储至所述内部存储器中。
上述实施方式中,在目标虚拟对象更新后,可以将更新的目标虚拟对象的位置指示信息加载至内存,将内存中与更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除,以保障内存中加载的是当前需要渲染的目标虚拟对象的位置指示信息,避免内存资源的浪费。
第三方面,本公开提供了一种对象渲染装置,包括:
获取模块,用于获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
确定模块,用于基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
渲染模块,用于在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
一种可能的实施方式中,所述装置还包括生成模块,用于根据下述步骤生成所述目标场景区域对应的八叉树信息:
获取所述目标场景区域内各个虚拟对象的位置信息;
基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息。
一种可能的实施方式中,所述生成模块,在基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息时,用于:
将所述目标场景区域作为目标区域,基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域,得到每个子三维区域的区域信息;以及
基于所述虚拟对象的位置信息和所述子三维区域的区域信息,确定每个子三维区域内包括的虚拟对象的数量;
在任一子三维区域内包括的虚拟对象的数量为多个的情况下,将所述任一子三维区域作为新的目标区域,返回至基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域的步骤,直至每个子三维区域内最多存在一个虚拟对象;
将各个子三维区域作为节点,将子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成所述目标场景区域对应的八叉树信息。
一种可能的实施方式中,所述确定模块,在基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象时,用于:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
从所述目标场景区域对应的八叉树信息包括的各个节点中,确定对应的子三维区域位于所述当前可视化区域内的当前节点;
基于所述当前节点对应的节点信息,确定所述目标虚拟对象。
一种可能的实施方式中,所述确定模块,在基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象时,用于:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
将所述八叉树信息中的根节点作为目标节点,基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域部分位于所述当前可视化区域,将与所述目标节点相连的每个子节点作为目标节点,返回至基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域完全位于所述当前可视化区域,则将所述目标节点对应的节点信息包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
一种可能的实施方式中,所述渲染模块,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示时,用于:
获取目标虚拟对象的位置指示信息;其中,所述位置指示信息包括构建成所述目标虚拟对象的各个三角面片的顶点信息;
基于所述目标虚拟对象的位置指示信息,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
第四方面,本公开提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的对象渲染方法的步骤。
第五方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的对象渲染方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1示出了本公开实施例所提供的一种对象渲染方法的流程示意图;
图2示出了本公开实施例所提供的对象渲染方法中,目标场景区域、子三维区域和八叉树的示意图;
图3示出了本公开实施例所提供的对象渲染方法中,一种子三维区域和可视化区域的示意图;
图4示出了本公开实施例所提供的对象渲染方法中,另一种子三维区域和可视化区域的示意图;
图5示出了本公开实施例所提供的对象渲染方法中,另一种子三维区域和可视化区域的示意图;
图6示出了本公开实施例所提供的一种对象渲染设备的架构示意图;
图7示出了本公开实施例所提供的一种对象渲染装置的架构示意图;
图8示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,。
现实场景中需要加载渲染的虚拟对象的数量较多,如果在虚拟对象的渲染过程中,将各个虚拟对象的数据加载在内存,会造成渲染过程中计算资源的浪费,使得虚拟对象的渲染效率较低。
一般的,可以根据距离判断需要渲染的虚拟对象,将需要渲染的虚拟对象的数据加载至内存中,完成虚拟对象的渲染。比如,可以确定虚拟对象的位置与虚拟相机的位置之间的距离,将距离小于距离阈值的虚拟对象,确定为需要渲染的虚拟对象。但是,根据距离确定需要渲染的虚拟对象时,会造成将位于虚拟相机可视范围之外的虚拟对象确定为需要渲染的虚拟对象,造成虚拟对象的渲染效果较差。基于此,本公开实施例提供了一种对象渲染方法、设备、装置、电子设备及存储介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种对象渲染方法进行详细介绍。本公开实施例所提供的对象渲染方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器;服务器比如可以为本地服务器、云端服务器等。终端设备比如可以为手机、平板、增强现实(Augmented Reality,AR)眼镜、个人数字助理(Personal Digital Assistant,PDA)等设备。在一些可能的实现方式中,该对象渲染方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例所提供的对象渲染方法的流程示意图,该方法包括S101-S103,其中:
S101,获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
S102,基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
S103,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
上述方法中,获取目标场景区域对应的八叉树信息,由于八叉树信息用于表征各个虚拟对象的位置与各个子三维区域之间的映射关系,通过基于虚拟相机当前的拍摄参数信息,使用八叉树信息依次对各个子三维区域进行遍历,能够较高效和较精准的从目标场景区域内的各虚拟对象中,确定位于虚拟相机的可视化区域的目标虚拟对象,实现了在三维空间内对目标场景区域中各个虚拟对象的精细化管理;并在虚拟相机的拍摄画面中,对目标虚拟对象进行渲染展示,提高了渲染展示的效果。
下述对S101-S103进行具体说明。
针对S101:
目标场景区域可以为任一场景区域,比如场景区域可以为商场区域、工业作业区域等。每个目标场景区域下包括多个子三维区域。其中,八叉树信息可以用于表征各个虚拟对象的位置与目标场景区域中的各个子三维区域之间的映射关系。
一种可选实施方式中,可以根据下述步骤生成所述目标场景区域对应的八叉树信息:
步骤A1,获取所述目标场景区域内各个虚拟对象的位置信息;
步骤A2,基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息。
实施时,可以预先构建多个虚拟对象,并为每个虚拟对象确定对应的位置信息,该位置信息可以为虚拟对象在场景坐标系下的坐标。其中,虚拟对象可以为真实对象的三维模型,也可以为虚构对象的三维模型。进而,可以获取到目标场景区域内各个虚拟对象的位置信息。
一种可选实施方式中,在步骤A2中,基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息,可以包括:
步骤A21,将所述目标场景区域作为目标区域,基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域,得到每个子三维区域的区域信息;
步骤A22,基于所述虚拟对象的位置信息和所述子三维区域的区域信息,确定每个子三维区域内包括的虚拟对象的数量;
步骤A23,在任一子三维区域内包括的虚拟对象的数量为多个的情况下,将所述任一子三维区域作为新的目标区域,返回至基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域的步骤,直至每个子三维区域内最多存在一个虚拟对象;
步骤A24,将各个子三维区域作为节点,将子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成所述目标场景区域对应的八叉树信息。
参见图2所示,可以将目标场景区域作为目标区域,基于目标区域的区域信息,沿着目标区域的多个切割方向,将目标区域划分为8个子三维区域,得到每个子三维区域的区域信息。其中区域信息可以为子三维区域在场景坐标系的各个坐标轴上的区域范围。比如子三维区域的区域信息可以为x轴[0-1]、y轴[0-1]、z轴[0-1]。
针对每个子三维区域,可以根据虚拟对象的位置信息和子三维区域的区域信息,确定位于该子三维区域内虚拟对象的数量。若该子三维区域内虚拟对象的数量为一个或零个,则不会对该子三维区域进行划分。若该子三维区域内虚拟对象的数量为多个,则可以将该子三维区域作为新的目标区域,继续对该子三维区域进行划分,直至每个子三维区域内最多存在一个虚拟对象为止。即得到的每个子三维区域内存在零个或一个虚拟对象。
再可以将每个子三维区域作为节点,将每个子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成目标场景区域对应的八叉树信息。其中,图2右侧展示有八叉树,该八叉树中的每个圆形图形代表一个节点,目标场景区域对应的节点为根节点,与根节点相连的节点为该根节点对应的子节点。
这里,可以利用各个虚拟对象的位置信息和目标场景区域的区域信息,生成目标场景区域对应的八叉树信息,为后续确定目标虚拟对象提高数据支持。
针对S102:
该虚拟相机可以为对虚拟对象进行渲染展示的渲染引擎中的相机。该虚拟相机存在对应的拍摄参数信息,比如拍摄参数信息可以包括虚拟相机的位置信息、姿态信息(可以使用欧拉角进行表示)、可视角度范围、可视距离等等。在实施时,可以根据虚拟相机当前的拍摄参数信息,确定虚拟对象对应的当前可视化区域。再根据八叉树信息,从目标场景区域内包括的各个虚拟对象中,确定位于当前可视化区域内的目标虚拟对象。
一种可能的实施方式中,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,包括:
步骤一、基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
步骤二、从所述目标场景区域对应的八叉树信息包括的各个节点中,确定对应的子三维区域位于所述当前可视化区域内的当前节点;
步骤三、基于所述当前节点对应的节点信息,确定所述目标虚拟对象。
这里,在确定虚拟相机的当前可视化区域之后,可以从目标场景区域对应的八叉树信息包括的多个节点中,确定对应的子三维区域位于当前可视化区域内的当前节点;进而根据当前节点对应的节点信息,能够较精准的确定目标虚拟对象,缓解将不位于当前可视化区域内的虚拟对象确定为目标虚拟对象时造成的渲染资源浪费,提高了对象渲染效率和精准度。
实施时,当前的拍摄参数信息可以包括虚拟相机的当前位姿、虚拟相机的可视角度范围、虚拟相机的可视距离等。其中,可视角度范围和可视距离可以根据实际情况进行设置。比如,可视角度范围可以与人眼视度相匹配。可视距离可以为50米等。可以根据虚拟相机的可视角度范围、虚拟相机的可视距离,确定在虚拟相机的当前位姿下,虚拟相机对应的当前可视化区域。
遍历目标场景区域对应的八叉树中的各个节点,确定该节点对应的子三维区域是否完全位于当前可视化区域内,若是,则将该节点确定为当前节点;若否,则确定该节点不属于当前节点。再根据当前节点对应的节点信息,确定目标虚拟对象,比如可以将节点信息中包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
另一种可选实施方式中,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,可以包括步骤B1至步骤B4,其中:
步骤B1,基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域。
这里,当前的拍摄参数信息可以包括虚拟相机的当前位姿、虚拟相机的可视角度范围、虚拟相机的可视距离等。其中,可视角度范围和可视距离可以根据实际情况进行设置。比如,可视角度范围可以与人眼视度相匹配。可视距离可以为50米等。
实施时,可以根据虚拟相机的可视角度范围、虚拟相机的可视距离,确定在虚拟相机的当前位姿下,虚拟相机对应的当前可视化区域。
在确定了虚拟相机的当前可视化区域之后,还包括步骤B2,将所述八叉树信息中的根节点作为目标节点,基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内。
实施时,可以从八叉树的根节点开始遍历,判断根节点对应的目标场景区域是否完全位于当前可视化区域内,若否,则遍历与根节点相连的子节点,即将每个子节点作为目标节点,确定目标节点对应的子三维区域是否完全位于当前可视化区域。
示例性的,针对每个目标节点,可以先确定该目标节点对应的子三维区域是否小于或等于当前可视化区域,若否,则将与该目标节点相连的子节点作为新的目标节点,返回至判断新的目标节点对应的子三维区域是否小于或等于当前可视化区域的步骤,直至新的目标节点对应的子三维区域小于或等于当前可视化区域位置。
若目标节点对应的子三维区域小于或等于当前可视化区域,则确定该目标节点对应的子三维区域是否完全位于当前可视化区域内,若是,则将该目标节点的节点信息包括的位置信息所属的虚拟对象确定为目标虚拟对象。若该目标节点对应的子三维区域完全位于当前可视化区域之外,确定该目标节点对应的虚拟对象不属于目标虚拟对象。若该目标节点对应的子三维区域部分位于当前可视化区域内,则可以将与该目标节点相连的子节点作为新的目标节点,返回至确定新的目标节点对应的子三维区域是否完全位于当前可视化区域内的步骤。其中,参见图3所示,子三维区域大于当前可视化区域的示意图。
步骤B3,若所述目标节点对应的子三维区域部分位于所述当前可视化区域,将与所述目标节点相连的每个子节点作为目标节点,返回至基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于所述当前可视化区域内。
步骤B4,若所述目标节点对应的子三维区域完全位于所述当前可视化区域,则将所述目标节点对应的节点信息包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
若目标节点对应的子三维区域完全位于当前可视化区域之外时,即目标节点对应的子三维区域与当前可视化区域之间无重叠区域时,则确定该目标节点对应的虚拟对象,不属于目标虚拟对象。
参见图4所示,在目标节点对应的子三维区域完全处于当前可视化区域之内时,则确定目标节点对应的子三维区域内包括的虚拟对象属于目标虚拟对象。在目标节点对应的子三维区域完全处于当前可视化区域之外时,则确定目标节点对应的子三维区域内包括的虚拟对象均不属于目标虚拟对象。
参见图5所示,在目标节点对应的子三维区域部分处于当前可视化区域之外、且部分处于当前可视化区域之内时,则可以继续遍历与该目标节点相连的子节点,即将与目标节点相连的每个子节点作为目标节点,返回至基于目标节点的节点信息包含的区域信息,确定目标节点对应的子三维区域是否完全处于当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于当前可视化区域内。
上述方式中,通过判断目标节点对应的子三维区域与当前可视化区域之间的区域重叠情况,在子三维区完全处于当前可视化区域内时,将该子三维区域内包括的虚拟对象确定为目标虚拟对象,在子三维区完全处于当前可视化区域外时,可以确定该子三维区域内包括的虚拟对象不属于目标虚拟对象等,提高了确定目标虚拟对象的准确度。
针对S103:
在确定了目标虚拟对象之后,可以根据目标虚拟对象对应的三维模型文件,在虚拟相机的拍摄画面中,对目标虚拟对象进行渲染展示。其中,三维模型文件可以为在构建得到虚拟对象时生成的。该三维模型文件中可以包括构成虚拟对象的各个三角面片的顶点信息、顶点之间的连接边信息等。
一种可选实施方式中,所述在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示,可以包括:
获取目标虚拟对象的位置指示信息;其中,所述位置指示信息包括构建成所述目标虚拟对象的各个三角面片的顶点信息;
基于所述目标虚拟对象的位置指示信息,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
实施时,可以预先确定目标虚拟对象的位置指示信息,该位置指示信息包括构建成目标虚拟对象的各个三角面片的顶点信息。利用该目标虚拟对象的位置指示信息,在虚拟相机的拍摄画面中对目标虚拟对象继续渲染展示。
可以实时的根据八叉树信和虚拟相机的当前拍摄参数信息,从目标场景区域内的各虚拟对象中,实时的确定目标虚拟对象。并实时将目标虚拟对象的位置指示信息存储至内存中,并将内存中存储的不位于虚拟相机的当前可视化区域内的虚拟对象的位置指示信息删除,节省内存空间,提高内存利用率。
以AR场景为例对上述对象渲染方法进行示例性说明,在AR场景中,可以在AR设备内部设置虚拟相机,该虚拟相机的当前位姿可以与AR设备相匹配。具体的,可以在获取到AR场景区域对应的八叉树信息之后,根据八叉树信息和虚拟相机当前的拍摄参数信息,从AR场景区域内的各虚拟对象中确定目标虚拟对象,并在AR设备的展示界面上渲染展示目标虚拟对象。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于相同的构思,本公开实施例还提供了一种对象渲染设备,参见图6所示,为本公开实施例提供的对象渲染设备的架构示意图,包括中央处理器(central processingunit,CPU)601、图形处理器(graphics processing unit,GPU)602,具体的:
所述CPU601,用于存储目标场景区域中各个虚拟对象的位置指示信息,并从目标场景区域内的各虚拟对象中确定目标虚拟对象之后,将所述目标虚拟对象的位置指示信息传输至所述GPU;其中,所述目标虚拟对象为利用上述实施例任一所述的对象渲染方法确定的;
所述GPU602,用于将接收到的所述目标虚拟对象的位置指示信息存储至内部存储器中;并通过读取所述内部存储器中所述目标虚拟对象的位置指示信息,在虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
实施时,可以构建目标场景区域中的各个虚拟对象,得到各个虚拟对象的位置指示信息,并将各个虚拟对象的位置指示信息存储至CPU中。以及,可以基于获取的八叉树信息和虚拟相机当前的拍摄参数信息,从目标场景区域内的各虚拟对象中确定目标虚拟对象。其中,目标虚拟对象的确定过程可参考上述对S102的具体过程,此处不在赘述。并将目标虚拟对象的位置指示信息传输至相连的GPU。
GPU将接收到的目标虚拟对象的位置指示信息存储至内部存储器(内存),并通过读取内存中目标虚拟对象的位置指示信息,在虚拟相机的拍摄画面中,对目标虚拟对象进行渲染展示。
这里,通过利用第一方面或任一实施方式所述的对象渲染方法,较精准的确定了目标虚拟对象之后,可以将目标虚拟对象的位置指示信息发送给GPU,无需向GPU发送其他虚拟对象的位置指示信息,减少了信息传输量,缓解将无需渲染的其他虚拟对象的位置指示信息发送给GPU时造成带宽资源的消耗,提高了带宽资源的利用率。同时,将目标虚拟对象的位置指示信息加载至内部存储器(内存),无需将其他虚拟对象的位置指示信息加载至内存中,减少了内存的开销,提高了内存的利用率。
一种可选实施方式中,所述CPU,还用于在目标虚拟对象更新之后,将更新后的目标虚拟对象的位置指示信息发送给所述GPU;
所述GPU,还用于将所述内部存储器中与所述更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除;以及,将所述更新后的目标虚拟对象中,未存储的目标虚拟对象的位置指示信息存储至所述内部存储器中。
在虚拟相机的当前位姿发生改变时,虚拟相机的当前的拍摄参数信息发生改变,确定的目标虚拟对象会发生改变。在基于八叉树信息和虚拟相机对应的更新后的当前的拍摄参数信息,从目标场景区域内的各个虚拟对象中确定更新后的目标虚拟对象之后,CPU可以将更新后的目标虚拟对象的位置指示信息发送给GPU。GPU可以将内存中与更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除;以及,将更新后的目标虚拟对象中,未存储的目标虚拟对象的位置指示信息存储至内存,使得内存中存储的为需要渲染的虚拟对象的位置指示信息,缓解内存资源的消耗,提高内存资源的利用率。
上述实施方式中,在目标虚拟对象更新后,可以将更新的目标虚拟对象的位置指示信息加载至内存,将内存中与更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除,以保障内存中加载的是当前需要渲染的目标虚拟对象的位置指示信息,避免内存资源的浪费。
基于相同的构思,本公开实施例还提供了一种对象渲染装置,参见图7所示,为本公开实施例提供的对象渲染装置的架构示意图,包括获取模块701、确定模块702、渲染模块703,具体的:
获取模块701,用于获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
确定模块702,用于基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
渲染模块703,用于在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
一种可能的实施方式中,所述装置还包括生成模块704,用于根据下述步骤生成所述目标场景区域对应的八叉树信息:
获取所述目标场景区域内各个虚拟对象的位置信息;
基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息。
一种可能的实施方式中,所述生成模块704,在基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息时,用于:
将所述目标场景区域作为目标区域,基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域,得到每个子三维区域的区域信息;以及
基于所述虚拟对象的位置信息和所述子三维区域的区域信息,确定每个子三维区域内包括的虚拟对象的数量;
在任一子三维区域内包括的虚拟对象的数量为多个的情况下,将所述任一子三维区域作为新的目标区域,返回至基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域的步骤,直至每个子三维区域内最多存在一个虚拟对象;
将各个子三维区域作为节点,将子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成所述目标场景区域对应的八叉树信息。
一种可能的实施方式中,所述确定模块702,在基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象时,用于:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
从所述目标场景区域对应的八叉树信息包括的各个节点中,确定对应的子三维区域位于所述当前可视化区域内的当前节点;
基于所述当前节点对应的节点信息,确定所述目标虚拟对象。
一种可能的实施方式中,所述确定模块702,在基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象时,用于:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
将所述八叉树信息中的根节点作为目标节点,基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域部分位于所述当前可视化区域,将与所述目标节点相连的每个子节点作为目标节点,返回至基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域完全位于所述当前可视化区域,则将所述目标节点对应的节点信息包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
一种可能的实施方式中,所述渲染模块703,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示时,用于:
获取目标虚拟对象的位置指示信息;其中,所述位置指示信息包括构建成所述目标虚拟对象的各个三角面片的顶点信息;
基于所述目标虚拟对象的位置指示信息,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模板可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图8所示,为本公开实施例提供的电子设备的结构示意图,包括处理器801、存储器802、和总线803。其中,存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当电子设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801在执行以下指令:
获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
其中,处理器801的具体处理流程可以参照上述方法实施例的记载,这里不再赘述。
此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的对象渲染方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的对象渲染方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种对象渲染方法,其特征在于,包括:
获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
2.根据权利要求1所述的方法,其特征在于,根据下述步骤生成所述目标场景区域对应的八叉树信息:
获取所述目标场景区域内各个虚拟对象的位置信息;
基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述各个虚拟对象的位置信息和所述目标场景区域的区域信息,生成所述目标场景区域对应的八叉树信息,包括:
将所述目标场景区域作为目标区域,基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域,得到每个子三维区域的区域信息;以及
基于所述虚拟对象的位置信息和所述子三维区域的区域信息,确定每个子三维区域内包括的虚拟对象的数量;
在任一子三维区域内包括的虚拟对象的数量为多个的情况下,将所述任一子三维区域作为新的目标区域,返回至基于所述目标区域的区域信息,按照设置的划分方式,将所述目标区域划分为八个子三维区域的步骤,直至每个子三维区域内最多存在一个虚拟对象;
将各个子三维区域作为节点,将子三维区域对应的区域信息和子三维区域包括的虚拟对象的位置信息,作为该子三维区域对应的节点的节点信息,生成所述目标场景区域对应的八叉树信息。
4.根据权利要求1~3任一所述的方法,其特征在于,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,包括:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
从所述目标场景区域对应的八叉树信息包括的各个节点中,确定对应的子三维区域位于所述当前可视化区域内的当前节点;
基于所述当前节点对应的节点信息,确定所述目标虚拟对象。
5.根据权利要求1~4任一所述的方法,其特征在于,所述基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象,包括:
基于所述虚拟相机的当前的拍摄参数信息,确定所述虚拟相机的当前可视化区域;
将所述八叉树信息中的根节点作为目标节点,基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域部分位于所述当前可视化区域,将与所述目标节点相连的每个子节点作为目标节点,返回至基于所述目标节点的节点信息包含的区域信息,确定所述目标节点对应的子三维区域是否完全位于所述当前可视化区域内的步骤,直至目标节点对应的子三维区域完全位于所述当前可视化区域内;
若所述目标节点对应的子三维区域完全位于所述当前可视化区域,则将所述目标节点对应的节点信息包括的位置信息所属的虚拟对象,确定为目标虚拟对象。
6.根据权利要求1~5任一所述的方法,其特征在于,所述在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示,包括:
获取目标虚拟对象的位置指示信息;其中,所述位置指示信息包括构建成所述目标虚拟对象的各个三角面片的顶点信息;
基于所述目标虚拟对象的位置指示信息,在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
7.一种对象渲染设备,其特征在于,包括:中央处理器CPU和图形处理器GPU;
所述CPU,用于存储目标场景区域中各个虚拟对象的位置指示信息,并从目标场景区域内的各虚拟对象中确定目标虚拟对象之后,将所述目标虚拟对象的位置指示信息传输至所述GPU;其中,所述目标虚拟对象为利用权利要求1至6任一所述的对象渲染方法确定的;
所述GPU,用于将接收到的所述目标虚拟对象的位置指示信息存储至内部存储器中;并通过读取所述内部存储器中所述目标虚拟对象的位置指示信息,在虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
8.根据权利要求7所述的设备,其特征在于,所述CPU,还用于在目标虚拟对象更新之后,将更新后的目标虚拟对象的位置指示信息发送给所述GPU;
所述GPU,还用于将所述内部存储器中与所述更新后的目标虚拟对象不匹配的虚拟对象的位置指示信息删除;以及,将所述更新后的目标虚拟对象中,未存储的目标虚拟对象的位置指示信息存储至所述内部存储器中。
9.一种对象渲染装置,其特征在于,包括:
获取模块,用于获取目标场景区域对应的八叉树信息;其中,所述目标场景区域包括多个子三维区域;所述八叉树信息用于表征各虚拟对象的位置与所述目标场景区域中的各个子三维区域之间的映射关系;
确定模块,用于基于所述八叉树信息、用于拍摄所述目标场景区域的虚拟相机当前的拍摄参数信息,从所述目标场景区域内的各虚拟对象中确定目标虚拟对象;其中,所述目标虚拟对象的位置信息所属的子三维区域位于所述拍摄参数信息指示的可视化区域内;
渲染模块,用于在所述虚拟相机的拍摄画面中,对所述目标虚拟对象进行渲染展示。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的对象渲染方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的对象渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210152713.4A CN114529647A (zh) | 2022-02-18 | 2022-02-18 | 对象渲染方法、设备、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210152713.4A CN114529647A (zh) | 2022-02-18 | 2022-02-18 | 对象渲染方法、设备、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114529647A true CN114529647A (zh) | 2022-05-24 |
Family
ID=81622265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210152713.4A Withdrawn CN114529647A (zh) | 2022-02-18 | 2022-02-18 | 对象渲染方法、设备、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114529647A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115439587A (zh) * | 2022-11-08 | 2022-12-06 | 成都索贝数码科技股份有限公司 | 一种基于对象可视范围的2.5d渲染方法 |
CN115461707A (zh) * | 2022-07-08 | 2022-12-09 | 上海莉莉丝科技股份有限公司 | 视频的获取方法、电子设备、存储介质和程序产品 |
-
2022
- 2022-02-18 CN CN202210152713.4A patent/CN114529647A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115461707A (zh) * | 2022-07-08 | 2022-12-09 | 上海莉莉丝科技股份有限公司 | 视频的获取方法、电子设备、存储介质和程序产品 |
CN115461707B (zh) * | 2022-07-08 | 2023-10-13 | 上海莉莉丝科技股份有限公司 | 视频的获取方法、电子设备、存储介质 |
CN115439587A (zh) * | 2022-11-08 | 2022-12-06 | 成都索贝数码科技股份有限公司 | 一种基于对象可视范围的2.5d渲染方法 |
CN115439587B (zh) * | 2022-11-08 | 2023-02-14 | 成都索贝数码科技股份有限公司 | 一种基于对象可视范围的2.5d渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815755B (zh) | 虚拟物体被遮挡的区域确定方法、装置及终端设备 | |
CN107223269B (zh) | 三维场景定位方法和装置 | |
CN114529647A (zh) | 对象渲染方法、设备、装置、电子设备及存储介质 | |
CN110503718B (zh) | 三维工程模型轻量化显示方法 | |
CN111459269B (zh) | 一种增强现实显示方法、系统及计算机可读存储介质 | |
CN109754464B (zh) | 用于生成信息的方法和装置 | |
CN115409933B (zh) | 多风格纹理贴图生成方法及其装置 | |
CN111460937B (zh) | 脸部特征点的定位方法、装置、终端设备及存储介质 | |
CN112766027A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112766215B (zh) | 人脸图像处理方法、装置、电子设备及存储介质 | |
CN114529648A (zh) | 模型展示方法、设备、装置、电子设备及存储介质 | |
CN111653175B (zh) | 一种虚拟沙盘展示方法及装置 | |
CN112181141A (zh) | Ar定位的方法、装置、电子设备及存储介质 | |
CN111127590B (zh) | 一种二阶贝塞尔曲线绘制方法及装置 | |
CN113610958A (zh) | 一种基于风格迁移的3d图像构建方法、装置及终端 | |
CN111651055A (zh) | 城市虚拟沙盘展示方法、装置、计算机设备及存储介质 | |
CN110544315B (zh) | 虚拟对象的控制方法及相关设备 | |
CN115512025A (zh) | 模型渲染性能的检测方法、装置、电子设备及存储介质 | |
CN113838217A (zh) | 信息展示方法、装置、电子设备及可读存储介质 | |
CN111583398B (zh) | 图像显示的方法、装置、电子设备及计算机可读存储介质 | |
CN115761123B (zh) | 三维模型处理方法、装置、电子设备以及存储介质 | |
CN111815784A (zh) | 现实模型的呈现方法及装置、电子设备和存储介质 | |
CN111899349A (zh) | 一种模型呈现方法、装置、电子设备及计算机存储介质 | |
CN115578432B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN107452046B (zh) | 三维城市模型的纹理处理方法及装置、设备及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220524 |
|
WW01 | Invention patent application withdrawn after publication |