CN112348955B - 一种物体渲染方法 - Google Patents

一种物体渲染方法 Download PDF

Info

Publication number
CN112348955B
CN112348955B CN202011381608.5A CN202011381608A CN112348955B CN 112348955 B CN112348955 B CN 112348955B CN 202011381608 A CN202011381608 A CN 202011381608A CN 112348955 B CN112348955 B CN 112348955B
Authority
CN
China
Prior art keywords
tree structure
real
node
rendering operation
time rendering
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
Application number
CN202011381608.5A
Other languages
English (en)
Other versions
CN112348955A (zh
Inventor
尤勇敏
其他发明人请求不公开姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiuling Jiangsu Digital Intelligent Technology Co Ltd
Original Assignee
Jiuling Jiangsu Digital Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiuling Jiangsu Digital Intelligent Technology Co Ltd filed Critical Jiuling Jiangsu Digital Intelligent Technology Co Ltd
Priority to CN202011381608.5A priority Critical patent/CN112348955B/zh
Publication of CN112348955A publication Critical patent/CN112348955A/zh
Application granted granted Critical
Publication of CN112348955B publication Critical patent/CN112348955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种物体渲染方法。终端确定对三维场景中的物体执行的实时渲染操作;根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息;按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作;根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体,简化实时渲染操作,提升渲染效率。

Description

一种物体渲染方法
技术领域
本申请涉及计算机图形处理技术领域,具体涉及一种物体渲染方法。
背景技术
随着智能手机的发展,在智能手机上进行三维场景下大规模物体的实时渲染成为人们研究的热点。当在智能手机上对BIM(Building Information Modeling,建筑信息模型)提供的海量物体进行实时渲染操作时,往往需要进行大量的计算。在此情况下,通常运用网格合并的方法优化渲染性能,但在网格合并的过程中,需要使用合并之前的网格来创建出一个新的网格,一方面,会造成智能手机瞬时的内存使用增加,从而造成手机的内存溢出,发生程序闪退的现象;另一方面,网格合并后原先三维场景中的多个物体合并成一个物体,若对合并之前的物体做相交检测等操作,需要重新单独开发一套新的系统,增加了开发人员的工作量,使得在智能手机上实时渲染三维场景下的大规模物体的效率低下。
发明内容
本申请实施例提供一种物体渲染方法,以在移动终端上实时渲染大规模物体时,简化实时渲染操作,提升渲染效率。
本申请实施例提供一种物体渲染方法,包括:
确定对三维场景中的物体执行的实时渲染操作;
根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息;
按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作;
根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体。
相应的,本申请实施例还提供一种物体渲染装置,包括:
确定单元,用于确定对三维场景中的物体执行的实时渲染操作;
设置单元,用于根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息;
选择单元,用于按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作;
渲染单元,用于根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体。
可选的,所述实时渲染操作,包括相交检测、对比排序和/或视锥体裁剪。
可选的,所述设置单元还用于在所述三维场景中确定至少一需要进行所述相交检测的物体,在所有需要进行所述相交检测的物体外部设置一第一包围盒;
判断所述第一包围盒内包括的物体的构件类型,根据物体所属的所述构件类型划分物体,在属于同一所述构件类型的物体外部设置一第二包围盒,所述第二包围盒的容积小于所述第一包围盒的容积;
在所述第二包围盒内包括的各个物体外部设置一第三包围盒,所述第三包围盒的容积小于所述第二包围盒的容积;
设置所述第一包围盒作为所述树型结构的根节点,所述第二包围盒作为所述根节点的子节点,所述第三包围盒是以所述第三包围盒所属第二包围盒作为父节点的子节点。
可选的,所述选择单元还用于确定所述目标对象为目标射线,检测所述目标射线与所述第一包围盒是否相交;
若所述目标射线与所述第一包围盒相交,则确定所述树型结构中具有以所述第一包围盒为父节点的子节点,依次检测所述目标射线与所述第二包围盒是否相交;
若所述目标射线与至少一所述第二包围盒相交,则确定与所述目标射线相交的第二相交包围盒,确定所述树型结构中具有以所述第二相交包围盒为父节点的子节点,依次检测所述目标射线与以第二相交包围盒为父节点的子节点对应的第三包围盒是否相交。
可选的,所述渲染单元还用于确定与所述目标射线相交的第三包围盒内包括的物体作为所述目标物体,在图形显示界面渲染所述目标物体。
可选的,所述设置单元还用于在所述三维场景中获取需要进行所述对比排序的物体根据排序规则形成的有序序列;
设置位于所述有序序列中间位置的物体为所述树型结构的根节点,位于所述有序序列中间位置之前的物体作为所述根节点的左子树节点,位于所述有序序列中间位置之后的物体作为所述根节点的右子树节点;
若存在左子树节点和/或右子树节点,则将所述左子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列,将作为所述右子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列;
若存在新增后的有序序列,则设置位于新增后的有序序列中间位置的物体,作为以位于新增前的有序序列中间位置的物体为父节点的子节点,位于新增后的有序序列中间位置之前的物体作为所述子节点的左子树节点,位于新增后的有序序列中间位置之后的物体作为所述子节点的右子树节点。
可选的,所述选择单元还用于确定所述目标对象为在所述有序序列中的新增物体;
先序遍历所述树型结构,根据所述排序规则对比所述新增物体与所述树型结构包括的节点对应的物体的顺序;
当确定所述新增物体对应的节点在所述树型结构中的位置时,停止所述先序遍历;
在所述树型结构中插入所述新增物体对应的节点,形成更新后的树型结构。
可选的,所述渲染单元还用于中序遍历所述更新后的树型结构,确定所述新增物体在所述有序序列中的插入位置;
确定所述新增物体为所述目标物体,根据所述插入位置在所述图形显示界面中渲染包括所述目标物体的有序序列。
可选的,所述设置单元还用于在所述三维场景中确定需要进行所述视锥体裁剪的第一物体,将所述第一物体划分为至少两个物体;
设置所述第一物体为所述树型结构的根节点,根据所述第一物体划分的物体作为所述根节点的子节点;
若所述树型结构中存在叶子节点,则将所述叶子节点对应的物体划分为至少两个物体;
若存在未在所述树型结构中记录的物体,则设置未在所述树型结构中记录的物体作为以划分前所属物体对应的节点为父节点的子节点。
可选的,所述选择单元还用于确定所述目标对象为所述第一物体对应的视锥体;
层次遍历所述树型结构,判断所述视锥体与所述树型结构包括的节点对应的物体是否相交;
当所述树型结构包括的节点对应的物体与所述视锥体不相交时,停止所述层次遍历;
所述渲染单元还用于根据所述层次遍历的结果确定在所述视锥体内的物体为所述目标物体,在所述图形显示界面渲染所述目标物体。
同样的,本申请实施例还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述物体渲染方法任一项的步骤。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现物体渲染方法任一项的步骤。
本申请实施例提供一种物体渲染方法,通过对三维场景中大量需要进行实时渲染操作的物体进行树状组织和优化管理,利用树型结构的特点选择部分需要进行实时渲染操作的物体,避免了对三维场景中的所有物体都进行实时渲染操作,从而简化了实时渲染操作,大大提高了实时渲染的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的物体渲染方法的系统示意图;
图2是本申请实施例提供的物体渲染方法的流程示意图;
图3是本申请实施例提供的物体渲染方法的结构示意图;
图4是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种物体渲染方法。具体地,本申请实施例的物体渲染方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(Personal Computer,PC)、和/或个人数字助理(Personal Digital Assistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是建筑设计应用客户端、携带有建筑设计程序的浏览器客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该物体渲染方法运行于终端时,终端存储有建筑设计应用程序并用于呈现建筑设计画面中的场景。终端用于通过图形用户界面与用户进行交互,例如通过终端下载安装建筑设计应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括建筑设计的三维场景,该处理器用于运行该建筑设计应用程序、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
请参阅图1,图1为本申请实施例提供的物体渲染方法的系统示意图。该系统可以包括至少一个终端。终端用于确定对建筑设计应用程序三维场景中的物体执行的实时渲染操作;然后,根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息;接着,按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作;最后,根据执行实时渲染操作的结果,在图形显示界面渲染目标物体。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从物体渲染装置的角度进行描述,该物体渲染装置具体可以集成在终端中,该终端可以包括智能手机、笔记本电脑、平板电脑以及个人计算机等设备。
本申请实施例提供的一种物体渲染方法,该方法可以由终端的处理器执行,如图2所示,该物体渲染方法的具体流程可以如下:
步骤201、确定对三维场景中的物体执行的实时渲染操作。
在本申请的一个或多个实施例中,上述步骤中的“三维场景”指的是用户在建筑设计应用程序中架构建筑模型的场景,为了更好的仿真设计建筑的效果图,设置该架构建筑模型的场景为三维立体场景。上述步骤中的“三维场景中的物体”指的是用户在三维场景中设计建筑模型的构件。
在一些实施例中,上述步骤中的“实时渲染操作”指的是终端在图形显示界面渲染物体之前执行的操作,该实时渲染操作可以是相交检测、对比排序和/或视锥体裁剪。
在一种实施方式中,用户在建筑设计程序的图形显示界面中对三维场景中的任意一个物体执行点击等触控操作,从而在图像显示界面渲染用户点击的物体时,终端需要以用户执行触控操作的触控点为端点,生成一条射线,对该射线与三维场景中用户可能选择的物体执行相交检测,最终在图形显示界面渲染出用户点击的物体,此时终端确定对三维场景中的物体执行相交检测。
在一些实施例中,用户在建筑设计程序的图形显示界面中按照体积从大到小排列的一系列物体中出入一个新增物体时,终端需要对新增物体与已经排好序的一系列物体执行对比排序。
在一种实施方式中,用户在终端较小屏幕的图形显示界面中渲染一个较大的物体时,终端的图形显示界面只能渲染物体的一部分,为了确定终端具体渲染物体的哪一部分,终端需要对该物体执行视锥体裁剪,此时终端确定对三维场景中的物体执行视锥体裁剪。
步骤202、根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息。
在一些实施例中,若终端确定实时渲染操作为相交检测,则上述步骤202中“根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息”可通过如下步骤S2021至步骤S2024实现:
步骤S2021:在三维场景中确定至少一需要进行相交检测的物体,在所有需要进行相交检测的物体外部设置一第一包围盒。
在本申请实施例中,第一包围盒指几何特征简单的几何体,该第一包围盒可以是长方体、正方体、和/或球体等等。该第一包围盒包围所有需要进行相交检测的物体,第一包围盒的容积近似于所有需要进行相交检测的物体占据的体积。
例如,终端确定用户在图形显示界面做出的触控操作所有可能点击的物体,作为需要进行相交检测的物体,接着,终端确定所有需要进行相交检测的物体在三维场景中的位置和占据的体积,最后,在所有需要进行相交检测的物体外部设置一接近该物体体积的第一包围盒。
步骤S2022、判断第一包围盒内包括的物体的构件类型,根据物体所属的构件类型划分物体,在属于同一构件类型的物体外部设置一第二包围盒,第二包围盒的容积小于第一包围盒的容积。
在本申请实施例中,上述步骤S2022中“物体的构件类型”指的是构成建筑体的各个要素类型,构件可以是楼面、墙体、柱子、或基础等,构件类型可以是受弯构件、受压构件、受拉构件、受扭构件、或压弯构件等。
在本申请实施例中,上述步骤S2022中“第二包围盒”与第一包围盒具有相同的特征,指几何特征简单的几何体,该第二包围盒可以是长方体、正方体、和/或球体等等。该第二包围盒的容积与其所包围物体的体积近似,且第二包围盒在第一包围盒内。
例如,终端确定第一包围盒包围的物体所属的构件类型,根据物体所属的构件类型划分物体,将属于同一构件类型的物体划分为一组,并确定每一组物体占据的体积和所处位置,从而在每一组物体外部设置一第二包围盒。
步骤S2023、在第二包围盒内包括的各个物体外部设置一第三包围盒,第三包围盒的容积小于第二包围盒的容积。
在本申请的实施例中,上述步骤S2023中“第二包围盒”与第一包围盒、第二包围盒具有相同的特征,指几何特征简单的几何体,该第三包围盒可以是长方体、正方体、和/或球体等等。该第三包围盒的容积与其所包围物体的体积近似,且第三包围盒在第二包围盒内。
步骤S2024、设置第一包围盒作为树型结构的根节点,第二包围盒作为根节点的子节点,第三包围盒是以第三包围盒所属第二包围盒作为父节点的子节点。
在本申请实施例中,树型结构是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合,树所定义的关系称为父子关系,父子关系在树的结点之间建立了一个层次结构。没有父节点的节点称为树型结构的根节点。利用树型结构记录各个包围盒之后,终端可以根据树型结构的层次特点,选择相应的方法遍历树型结构中的各个节点对应的包围盒,使得终端只需要对部分物体外围的包围盒执行相交检测,而不需要对形状复杂的物体执行相交检测,大大简化了相交检测的计算难度,提升了相交检测的效率。
例如,终端根据设置的第一包围盒、第二包围盒和第三包围盒的层次包围关系对应树型结构的层次结构,从而设置第一包围盒为树型结构的根节点,第二包围盒为树型结构的根节点的子节点,各个第三包围盒根据自身与第二包围盒的从属关系对应设置为以各个第二包围盒作为父节点的子节点,使得终端根据树型结构的层次关系选择对部分物体执行相交检测,提升相交检测的效率。
在一些实施例中,若终端确定实时渲染操作为对比排序,则上述步骤202中“根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息”可通过如下步骤S2025至步骤S2028实现:
步骤S2025、在三维场景中获取需要进行对比排序的物体根据排序规则形成的有序序列。
在本申请的实施例中,排序规则指的是物体形成有序序列的规则,可以是物体按照体积由小到大排列,也可以是物体按照使用次数的多少排列。
步骤S2026、设置位于有序序列中间位置的物体为树型结构的根节点,位于有序序列中间位置之前的物体作为根节点的左子树节点,位于有序序列中间位置之后的物体作为根节点的右子树节点。
在本申请的实施例中,为了减少新增物体和有序序列中各个物体对比排序的次数,将原先有序序列包括的物体形成二叉树,即每个结点最多只能有两棵子树,而且根据排序规则,每个节点的子节点有左右之分。
步骤S2027、若存在左子树节点和/或右子树节点,则将左子树节点对应的物体根据排序规则形成的序列作为新增后的有序序列,将作为右子树节点对应的物体根据排序规则形成的序列作为新增后的有序序列。
在本申请的实施例中,左子树节点即为该左子树节点的父节点对应的物体在有序序列之前的物体,右子树节点即为该右子树节点的父节点对应的物体在有序序列之后的物体。
步骤S2028、若存在新增后的有序序列,则设置位于新增后的有序序列中间位置的物体,作为以位于新增前的有序序列中间位置的物体为父节点的子节点,位于新增后的有序序列中间位置之前的物体作为子节点的左子树节点,位于新增后的有序序列中间位置之后的物体作为子节点的右子树节点。
在本申请的实施例中,若左子树节点对应的物体不止一个,则左子树节点对应的物体根据排序规则形成有序序列,若右子树节点对应的物体不止一个,则右子树节点对应的物体根据排序规则形成有序序列,终端按照上述的方法重新对该序列包括的物体设置二叉树中对应的节点。
在一些实施例中,若终端确定实时渲染操作为视锥体裁剪,则上述步骤202中“根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息”可通过如下步骤S2028至步骤S20211实现:
步骤S2028、在三维场景中确定需要进行视锥体裁剪的第一物体,将第一物体划分为至少两个物体。
在一些实施例中,第一物体指的是需要在终端图形显示界面中渲染的物体,将用户人眼映射第一物体上的位置作为视锥体的顶点,沿该顶点向各个方向扩散的射线形成相对于该物体的视锥体,该物体位于视锥体之内的部分可以在图像显示界面显示,该物体位于视锥体之外的部分不能再图形显示界面显示。为了更好的判断物体的哪些部分在视锥体内部,需要将该物体划分为至少两个物体。
步骤S2029、设置第一物体为树型结构的根节点,根据第一物体划分的物体作为根节点的子节点。
在一种实施方式中,将第一物体划分为多个物体,则表明第一物体包含其划分出的物体,将该包含关系对应于树型结构的层次关系,则设置该物体作为树型结构的根节点,从该物体划分出的物体作为该物体的子节点。
步骤S20210、若树型结构中存在叶子节点,则将叶子节点对应的物体划分为至少两个物体。
在一种实施方式中,为了不使该物体存在与是椎体相交的部分,则将该物体尽可能的划分为较小的体积,则对应于树型结构中,将位于叶子节点的物体划分为更小的物体,直至物体的每一个部分都位于视锥体的外部或内部,从而避免对该物体和视锥体作相交检测,提升实时渲染的效率。
在一种实施例中,每次划分的多个物体的个数和体积不受限制,可以根据实际情况设置。且每次划分得到的物体的形状、和/或体积可以相同,也可以不同。
步骤S2011、若存在未在树型结构中记录的物体,则设置未在树型结构中记录的物体作为以划分前所属物体对应的节点为父节点的子节点。
在一种实施方式中,在利用树型结构记录该物体时,由该物体划分的每一个物体都需要对应于树型结构的一个节点,使得遍历树型结构选择进行视锥体裁剪的物体时,不会遗漏划分的每一个物体,保证渲染的完整性。
步骤203、按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作。
在一些实施例中,若终端确定实时渲染操作为相交检测,则上述步骤203中“按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作”可通过如下步骤S2031至步骤S2033实现:
步骤S2031:确定目标对象为目标射线,检测目标射线与第一包围盒是否相交。
在一些实施例中,若根据用户的触控位置生成一目标射线之后,该目标射线作为目标对象,因为第一包围盒包围第二包围盒,第二包围盒包围第三包围盒,若目标射线不与第一包围盒相交,则表明第一包围盒包围的所有需要进行相交检测的物体都不与目标射线相交,则只需要进行一次相交检测;若目标射线与第一包围盒相交,则表明第一包围盒包围的所有需要进行相交检测的物体可能存在与目标射线相交的物体,故终端首先检测目标射线与第一包围盒是否相交。
步骤S2032:若目标射线与第一包围盒相交,则确定树型结构中具有以第一包围盒为父节点的子节点,依次检测目标射线与第二包围盒是否相交。
在本申请的实施例中,若目标射线与第一包围盒相交,则表明第一包围盒包围的所有需要进行相交检测的物体可能存在与目标射线相交的物体,故终端进一步检测目标射线是否与第二包围盒相交。若目标射线不与第二包围盒相交,则表明第二包围盒包围的所有需要进行相交检测的物体都不与目标射线相交,则停止相交检测;若目标射线与第二包围盒相交,则表明第二包围盒包围的所有需要进行相交检测的物体可能存在与目标射线相交的物体,进一步进行相交检测。
步骤S2033:若目标射线与至少一第二包围盒相交,则确定与目标射线相交的第二相交包围盒,确定树型结构中具有以第二相交包围盒为父节点的子节点,依次检测目标射线与以第二相交包围盒为父节点的子节点对应的第三包围盒是否相交。
在本申请的实施例中,当目标射线与第二包围盒相交时,进一步检测与目标射线相交的第二包围盒包括的第三包围盒是否与目标射线相交,未与目标射线相交的第二包围盒包围的物体不会与目标射线相交,故不需要对未与目标射线相交的第二包围盒包围的第三包围盒执行相交检测,从而减少了相交检测的次数。根据树型结构中第三包围盒的位置,按照从左往右的次序检测第三包围盒是否与目标射线相交,最终确定与目标射线相交的第三包围盒。
在一些实施例中,若终端确定实时渲染操作为对比排序,则上述步骤203中“按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作”可通过如下步骤S2034至步骤S2037实现:
步骤S2034:确定目标对象为在有序序列中的新增物体。
在本申请的实施例中,若确定实时渲染操作是对比排序,则需要对比新增物体与有序序列中的各个物体的顺序,故目标对象为在有序序列中的新增物体。
步骤S2035:先序遍历树型结构,根据排序规则对比新增物体与树型结构包括的节点对应的物体的顺序。
在本申请的实施例中,物体按照排序规则形成有序序列,先将新增物体与有序序列中间位置的物体按照排序规则对比,若新增物体在有序序列中间位置的物体之后,则不需要对比新增物体与有序序列中间位置的物体之前的物体,进一步,有序序列中间位置之后的有序序列形成新的有序序列,同样的,将新增物体与新的有序序列中间位置的物体按照排序规则对比,直至找到新增物体在有序序列中的位置,可以减少对比排序的次数,提高在有序序列中渲染新增物体的效率。根据所形成的树型结构的特点,选择先序遍历该树型结构,可以实现上述过程。
步骤S2036:当确定新增物体对应的节点在树型结构中的位置时,停止先序遍历。
在本申请的实施例中,按照先序遍历的方法进行对比排序时,若确定新增物体对应的节点在树型结构中的位置时,则表明确定了新增物体在有序序列中的位置,故停止先序遍历。
步骤S2037:在树型结构中插入新增物体对应的节点,形成更新后的树型结构。
在一些实施例中,若终端确定实时渲染操作为视锥体裁剪,则上述步骤203中“按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作”可通过如下步骤S2038至步骤S20310实现:
步骤S2038:确定目标对象为第一物体对应的视锥体。
在本申请的实施例中,若确定实时渲染操作为视锥体渲染后,第一物体需要与视锥体进行相交检测,表明目标对象为视锥体。
步骤S2039:层次遍历树型结构,判断视锥体与树型结构包括的节点对应的物体是否相交。
在本申请的实施例中,终端首先判断第一物体是否在视锥体内部,若第一物体不在视锥体内部,则表明第一物体不需要渲染在图形显示界面上,停止视锥体裁剪;若第一物体全部在视锥体内部,则表明第一物体需要全部渲染在图形显示界面上;若第一物体的部分在视锥体内部,则表明需要划分第一物体,进一步检测第一物体划分的物体是否在视锥体内部,同样的,在视锥体内部的物体需要渲染,在视锥体外部的物体不需要渲染,与视锥体相交的物体需要进一步检测其划分得到的物体是否在视锥体内部,直至第一物体的每一部分都判断完毕。由于划分的物体没有先后次序之分,根据所形成的树型结构的特点,选择层次遍历该树型结构,可以实现上述过程。
步骤S20310:当树型结构包括的节点对应的物体与视锥体不相交时,停止层次遍历。
在一些是实施例中,层次遍历该树型结构的节点,判断是否与视锥体相交,当树型结构包括的所有节点对应的物体与视锥体不相交时,则表明第一物体的所有部分都与视锥体相交检测完毕,停止层次遍历。
步骤204、根据执行实时渲染操作的结果,在图形显示界面渲染目标物体。
在一些实施例中,若终端确定实时渲染操作为相交检测,则上述步骤204中“根据执行实时渲染操作的结果,在图形显示界面渲染目标物体”可通过如下步骤S2041实现:
步骤S2041:确定与目标射线相交的第三包围盒内包括的物体作为目标物体,在图形显示界面渲染目标物体。
在一些实施例中,确定实时渲染操作为相交检测,且第三包围盒为树型结构的叶子节点,第三包围盒包围的是三维场景中需要进行相交检测的物体,故存在与目标射线相交的第三包围盒,则该第三包围盒内包括的物体作为用户触控操作的目标物体,在图形显示界面渲染目标物体。
在一些实施例中,若终端确定实时渲染操作为对比排序,则上述步骤204中“根据执行实时渲染操作的结果,在图形显示界面渲染目标物体”可通过如下步骤S2042至步骤S2043实现:
步骤S2042:中序遍历所述更新后的树型结构,确定所述新增物体在所述有序序列中的插入位置。
在一些实施例中,终端确定实时渲染操作为对比排序,获取包括新增物体的树型结构,为了得到包括新增物体的有序序列,根据树型结构的设置方式和特点,中序遍历更新后的树型结构,从返回的结果中可以得到新增物体在有序序列中的插入位置。
步骤S2043:确定所述新增物体为所述目标物体,根据所述插入位置在所述图形显示界面中渲染包括所述目标物体的有序序列。
在本申请的实施例中,确定新增物体为目标物体,将新增物体按照得到的插入位置插入到有序序列中,即可在图形显示界面渲染包括新增物体的有序序列。
在一些实施例中,若终端确定实时渲染操作为视锥体裁剪,则上述步骤204中“根据执行实时渲染操作的结果,在图形显示界面渲染目标物体”可通过如下步骤S2044实现:
根据层次遍历的结果确定在视锥体内的物体为目标物体,在图形显示界面渲染目标物体。
在一些实施例中,终端确定实时渲染操作为视锥体裁剪,则层次遍历形成的树型结构后,可以判断第一物体的每个划分的部分是否在视锥体内部,从而确定所有在视锥体内部的物体作为目标物体,在图形显示界面渲染目标物体。
本申请实施例提供的物体渲染方法,通过对三维场景中大量需要进行实时渲染操作的物体进行树状组织和优化管理,利用树型结构的特点选择部分需要进行实时渲染操作的物体,避免了对三维场景中的所有物体都进行实时渲染操作,从而简化了实时渲染操作,大大提高了实时渲染的效率。。
为便于更好的实施本申请实施例的物体渲染方法,本申请实施例还提供一种物体渲染装置。请参阅图3,图3为本申请实施例提供的物体渲染装置的结构示意图。该物体渲染装置可以包括确定单元301、设置单元302、选择单元303和渲染单元304。
其中,确定单元301,用于确定对三维场景中的物体执行的实时渲染操作;
设置单元302,用于根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息;
选择单元303,用于按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作;
渲染单元304,用于根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体。
可选的,所述实时渲染操作,包括相交检测、对比排序和/或视锥体裁剪。
可选的,所述设置单元302还用于在所述三维场景中确定至少一需要进行所述相交检测的物体,在所有需要进行所述相交检测的物体外部设置一第一包围盒;
判断所述第一包围盒内包括的物体的构件类型,根据物体所属的所述构件类型划分物体,在属于同一所述构件类型的物体外部设置一第二包围盒,所述第二包围盒的容积小于所述第一包围盒的容积;
在所述第二包围盒内包括的各个物体外部设置一第三包围盒,所述第三包围盒的容积小于所述第二包围盒的容积;
设置所述第一包围盒作为所述树型结构的根节点,所述第二包围盒作为所述根节点的子节点,所述第三包围盒是以所述第三包围盒所属第二包围盒作为父节点的子节点。
可选的,所述选择单元303还用于确定所述目标对象为目标射线,检测所述目标射线与所述第一包围盒是否相交;
若所述目标射线与所述第一包围盒相交,则确定所述树型结构中具有以所述第一包围盒为父节点的子节点,依次检测所述目标射线与所述第二包围盒是否相交;
若所述目标射线与至少一所述第二包围盒相交,则确定与所述目标射线相交的第二相交包围盒,确定所述树型结构中具有以所述第二相交包围盒为父节点的子节点,依次检测所述目标射线与以第二相交包围盒为父节点的子节点对应的第三包围盒是否相交。
可选的,所述渲染单元304还用于确定与所述目标射线相交的第三包围盒内包括的物体作为所述目标物体,在图形显示界面渲染所述目标物体。
可选的,所述设置单元302还用于在所述三维场景中获取需要进行所述对比排序的物体根据排序规则形成的有序序列;
设置位于所述有序序列中间位置的物体为所述树型结构的根节点,位于所述有序序列中间位置之前的物体作为所述根节点的左子树节点,位于所述有序序列中间位置之后的物体作为所述根节点的右子树节点;
若存在左子树节点和/或右子树节点,则将所述左子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列,将作为所述右子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列;
若存在新增后的有序序列,则设置位于新增后的有序序列中间位置的物体,作为以位于新增前的有序序列中间位置的物体为父节点的子节点,位于新增后的有序序列中间位置之前的物体作为所述子节点的左子树节点,位于新增后的有序序列中间位置之后的物体作为所述子节点的右子树节点。
可选的,所述选择单元303还用于确定所述目标对象为在所述有序序列中的新增物体;
先序遍历所述树型结构,根据所述排序规则对比所述新增物体与所述树型结构包括的节点对应的物体的顺序;
当确定所述新增物体对应的节点在所述树型结构中的位置时,停止所述先序遍历;
在所述树型结构中插入所述新增物体对应的节点,形成更新后的树型结构。
可选的,所述渲染单元304还用于中序遍历所述更新后的树型结构,确定所述新增物体在所述有序序列中的插入位置;
确定所述新增物体为所述目标物体,根据所述插入位置在所述图形显示界面中渲染包括所述目标物体的有序序列。
可选的,所述设置单元302还用于在所述三维场景中确定需要进行所述视锥体裁剪的第一物体,将所述第一物体划分为至少两个物体;
设置所述第一物体为所述树型结构的根节点,根据所述第一物体划分的物体作为所述根节点的子节点;
若所述树型结构中存在叶子节点,则将所述叶子节点对应的物体划分为至少两个物体;
若存在未在所述树型结构中记录的物体,则设置未在所述树型结构中记录的物体作为以划分前所属物体对应的节点为父节点的子节点。
可选的,所述选择单元303还用于确定所述目标对象为所述第一物体对应的视锥体;
层次遍历所述树型结构,判断所述视锥体与所述树型结构包括的节点对应的物体是否相交;
当所述树型结构包括的节点对应的物体与所述视锥体不相交时,停止所述层次遍历;
所述渲染单元304还用于根据所述层次遍历的结果确定在所述视锥体内的物体为所述目标物体,在所述图形显示界面渲染所述目标物体。
本申请实施例提供的物体渲染装置,通过确定单元301确定对三维场景中的物体执行的实时渲染操作,然后,设置单元302根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息,之后,选择单元303按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作,最后,渲染单元304根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体。本申请实施例避免了对三维场景中的所有物体都进行实时渲染操作,从而简化了实时渲染操作,大大提高了实时渲染的效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机、个人数字助理等终端设备。如图4所示,图4为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
确定对三维场景中的物体执行的实时渲染操作;
根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息;
按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作;
根据执行实时渲染操作的结果,在图形显示界面渲染目标物体。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图4所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
在本申请实施例中,通过处理器401执行直播应用程序在触控显示屏403上生成直播用户界面,直播用户界面上的虚拟场景中包含直播的实时画面、至少一个内嵌游戏的启动标志性图标、至少一个互动商品的标志性图标和内嵌游戏客户端的页面等,内嵌游戏客户端的页面中包含执行内嵌游戏应用程序在触控显示屏403上生成的游戏用户界面,游戏用户界面中的虚拟场景中包含至少一个技能控制区域,技能控制区域中包含至少一个技能控件。该触控显示屏403用于呈现直播用户界面、游戏用户界面以及接收用户作用于直播用户界面和游戏用户界面产生的操作指令。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给计算机设备1000的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图4中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种直播云游戏商品互动方法中的步骤。例如,该计算机程序可以执行如下步骤:
确定对三维场景中的物体执行的实时渲染操作;
根据实时渲染操作对三维场景中的物体设置树型结构,利用树型结构的节点记录对应的三维场景中的物体的信息;
按照树型结构的层次,在三维场景中选择需要采用目标对象执行实时渲染操作的物体,对需要执行实时渲染操作的物体执行实时渲染操作;
根据执行实时渲染操作的结果,在图形显示界面渲染目标物体。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种物体渲染方法中的步骤,因此,可以实现本申请实施例所提供的任一种直播云游戏商品互动方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种物体渲染方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

Claims (9)

1.一种物体渲染方法,其特征在于,包括:
确定对三维场景中的物体执行的实时渲染操作;
根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息;
按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作;
根据所述执行所述实时渲染操作的结果,在图形显示界面渲染目标物体;
所述根据所述实时渲染操作对所述三维场景中的物体设置树型结构,包括:
在所述三维场景中获取需要进行对比排序的物体根据排序规则形成的有序序列;
设置位于所述有序序列中间位置的物体为所述树型结构的根节点,位于所述有序序列中间位置之前的物体作为所述根节点的左子树节点,位于所述有序序列中间位置之后的物体作为所述根节点的右子树节点;
若存在左子树节点和/或右子树节点,则将所述左子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列,将作为所述右子树节点对应的物体根据所述排序规则形成的序列作为新增后的有序序列;
若存在新增后的有序序列,则设置位于新增后的有序序列中间位置的物体,作为以位于新增前的有序序列中间位置的物体为父节点的子节点,位于新增后的有序序列中间位置之前的物体作为所述子节点的左子树节点,位于新增后的有序序列中间位置之后的物体作为所述子节点的右子树节点。
2.根据权利要求1所述的方法,其特征在于,所述实时渲染操作,包括相交检测、对比排序和/或视锥体裁剪。
3.根据权利要求2所述的方法,其特征在于,所述根据所述实时渲染操作对所述三维场景中的物体设置树型结构,包括:
在所述三维场景中确定至少一需要进行所述相交检测的物体,在所有需要进行所述相交检测的物体外部设置一第一包围盒;
判断所述第一包围盒内包括的物体的构件类型,根据物体所属的所述构件类型划分物体,在属于同一所述构件类型的物体外部设置一第二包围盒,所述第二包围盒的容积小于所述第一包围盒的容积;
在所述第二包围盒内包括的各个物体外部设置一第三包围盒,所述第三包围盒的容积小于所述第二包围盒的容积;
设置所述第一包围盒作为所述树型结构的根节点,所述第二包围盒作为所述根节点的子节点,所述第三包围盒是以所述第三包围盒所属第二包围盒作为父节点的子节点。
4.根据权利要求3所述的方法,其特征在于,所述按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作,包括:
确定所述目标对象为目标射线,检测所述目标射线与所述第一包围盒是否相交;
若所述目标射线与所述第一包围盒相交,则确定所述树型结构中具有以所述第一包围盒为父节点的子节点,依次检测所述目标射线与所述第二包围盒是否相交;
若所述目标射线与至少一所述第二包围盒相交,则确定与所述目标射线相交的第二相交包围盒,确定所述树型结构中具有以所述第二相交包围盒为父节点的子节点,依次检测所述目标射线与以第二相交包围盒为父节点的子节点对应的第三包围盒是否相交。
5.根据权利要求4所述的方法,其特征在于,所述根据所述执行的所述实时渲染操作的结果,在图形显示界面渲染目标物体,包括:
确定与所述目标射线相交的第三包围盒内包括的物体作为所述目标物体,在图形显示界面渲染所述目标物体。
6.根据权利要求1所述的方法,其特征在于,所述按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作,包括:
确定所述目标对象为在所述有序序列中的新增物体;
先序遍历所述树型结构,根据所述排序规则对比所述新增物体与所述树型结构包括的节点对应的物体的顺序;
当确定所述新增物体对应的节点在所述树型结构中的位置时,停止所述先序遍历;
在所述树型结构中插入所述新增物体对应的节点,形成更新后的树型结构。
7.根据权利要求6所述的方法,其特征在于,所述根据执行的所述实时渲染操作的结果,在图形显示界面渲染目标物体,包括:
中序遍历所述更新后的树型结构,确定所述新增物体在所述有序序列中的插入位置;
确定所述新增物体为所述目标物体,根据所述插入位置在所述图形显示界面中渲染包括所述目标物体的有序序列。
8.根据权利要求2所述的方法,其特征在于,所述根据所述实时渲染操作对所述三维场景中的物体设置树型结构,利用所述树型结构的节点记录对应的所述三维场景中的物体的信息,包括:
在所述三维场景中确定需要进行所述视锥体裁剪的第一物体,将所述第一物体划分为至少两个物体;
设置所述第一物体为所述树型结构的根节点,根据所述第一物体划分的物体作为所述根节点的子节点;
若所述树型结构中存在叶子节点,则将所述叶子节点对应的物体划分为至少两个物体;
若存在未在所述树型结构中记录的物体,则设置未在所述树型结构中记录的物体作为以划分前所属物体对应的节点为父节点的子节点。
9.根据权利要求8所述的方法,其特征在于,所述按照所述树型结构的层次,在所述三维场景中选择需要采用目标对象执行所述实时渲染操作的物体,对需要执行所述实时渲染操作的物体执行所述实时渲染操作,包括:
确定所述目标对象为所述第一物体对应的视锥体;
层次遍历所述树型结构,判断所述视锥体与所述树型结构包括的节点对应的物体是否相交;
当所述树型结构包括的节点对应的物体与所述视锥体不相交时,停止所述层次遍历;
所述根据所述执行的所述实时渲染操作的结果,在图形显示界面渲染目标物体,包括:
根据所述层次遍历的结果确定在所述视锥体内的物体为所述目标物体,在所述图形显示界面渲染所述目标物体。
CN202011381608.5A 2020-11-30 2020-11-30 一种物体渲染方法 Active CN112348955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011381608.5A CN112348955B (zh) 2020-11-30 2020-11-30 一种物体渲染方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011381608.5A CN112348955B (zh) 2020-11-30 2020-11-30 一种物体渲染方法

Publications (2)

Publication Number Publication Date
CN112348955A CN112348955A (zh) 2021-02-09
CN112348955B true CN112348955B (zh) 2022-06-17

Family

ID=74427184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011381608.5A Active CN112348955B (zh) 2020-11-30 2020-11-30 一种物体渲染方法

Country Status (1)

Country Link
CN (1) CN112348955B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052950B (zh) * 2021-03-31 2021-12-17 完美世界(北京)软件科技发展有限公司 光照计算方法、装置、计算机设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281654A (zh) * 2008-05-20 2008-10-08 上海大学 一种基于八叉树的大规模复杂三维场景处理方法
US8970583B1 (en) * 2012-10-01 2015-03-03 Google Inc. Image space stylization of level of detail artifacts in a real-time rendering engine
CN111340928A (zh) * 2020-02-19 2020-06-26 杭州群核信息技术有限公司 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281654A (zh) * 2008-05-20 2008-10-08 上海大学 一种基于八叉树的大规模复杂三维场景处理方法
US8970583B1 (en) * 2012-10-01 2015-03-03 Google Inc. Image space stylization of level of detail artifacts in a real-time rendering engine
CN111340928A (zh) * 2020-02-19 2020-06-26 杭州群核信息技术有限公司 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备

Also Published As

Publication number Publication date
CN112348955A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
CN111124412B (zh) 一种游戏页面绘制方法、装置、设备及存储介质
CN112370783B (zh) 虚拟对象渲染方法、装置、计算机设备和存储介质
CN108648279A (zh) 房屋立体化虚拟带看方法、装置、移动终端和存储介质
CN112882764B (zh) 组件加载方法、装置、计算机设备及存储介质
WO2023213037A1 (zh) 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质
CN111429561A (zh) 一种虚拟仿真渲染引擎
CN112348955B (zh) 一种物体渲染方法
CN112221151B (zh) 一种地图生成方法、装置、计算机设备及存储介质
CN117742677A (zh) 一种xr引擎低代码开发平台
CN115944923A (zh) 实例对象编辑方法、装置、电子设备和存储介质
CN113138996A (zh) 语句生成方法和装置
CN116452786A (zh) 虚拟现实内容的生成方法、系统、计算机设备及存储介质
CN114797109A (zh) 对象编辑方法、装置、电子设备和存储介质
CN115222904A (zh) 地形处理方法、装置、电子设备和可读存储介质
CN115861577A (zh) 虚拟场景物的姿态编辑方法、装置、设备及存储介质
CN113345059B (zh) 动画生成方法、装置、存储介质及电子设备
CN112783860B (zh) 构造镜像数据库的方法、装置、存储介质及计算机设备
CN118172506A (zh) 道路模型生成方法、装置、计算机设备和存储介质
CN114595018B (zh) 电流流向三维展示方法、装置、计算机设备和存储介质
CN117112950B (zh) 电子地图中对象的渲染方法、装置、终端及存储介质
CN109800037B (zh) 界面显示、界面数据处理方法、客户端及服务器
CN118001740A (zh) 虚拟模型的处理方法、装置、计算机设备及存储介质
CN114494551A (zh) 三维模型的贴图处理方法、装置、计算机设备及存储介质
CN118227248A (zh) 节点层级调整方法、装置、存储介质和电子装置
CN116889724A (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
GR01 Patent grant
GR01 Patent grant