CN117710551A - 一种实体渲染方法、装置、电子设备及存储介质 - Google Patents
一种实体渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117710551A CN117710551A CN202311726204.9A CN202311726204A CN117710551A CN 117710551 A CN117710551 A CN 117710551A CN 202311726204 A CN202311726204 A CN 202311726204A CN 117710551 A CN117710551 A CN 117710551A
- Authority
- CN
- China
- Prior art keywords
- target
- entities
- entity
- target static
- fusion
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000003068 static effect Effects 0.000 claims abstract description 362
- 230000004927 fusion Effects 0.000 claims abstract description 205
- 238000013507 mapping Methods 0.000 claims abstract description 118
- 239000000463 material Substances 0.000 claims abstract description 112
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims description 18
- 230000009467 reduction Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 235000001275 Bouea macrophylla Nutrition 0.000 description 1
- 240000001160 Bouea macrophylla Species 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种实体渲染方法、装置、电子设备及存储介质,涉及三维技术领域,该方法包括:针对已渲染完成的虚拟场景,确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;基于多个目标静态实体之间的位置关系,对多个目标静态实体各自的贴图进行融合,得到融合贴图;基于多个目标静态实体之间的位置关系,对多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;响应于检测到目标区域的显示精度低于预定精度阈值,基于融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体。通过本方案可以提高实体的渲染效率。
Description
技术领域
本发明涉及三维技术领域,特别是涉及一种实体渲染方法、装置、电子设备及存储介质。
背景技术
在大型游戏或工业设计的虚拟场景中,虚拟场景中可以包含成千上万个实体,实体可以被渲染并显示至虚拟场景中。
相关技术中,在针对每一实体进行渲染时,可以利用该实体的待渲染数据,并调用绘制指令,在虚拟场景中渲染该实体。
然而,每当虚拟场景中的虚拟相机的位置发生变化,会存在大量的显示效果需要更新的实体,若该大量的实体均需按照上述相关技术重新进行渲染,这样无疑导致大量的待渲染数据需要调用以及绘制指令的调用次数也较多,最终实体的渲染效率不高。
发明内容
本发明实施例的目的在于提供一种实体渲染方法、装置、电子设备及存储介质,以提高实体的渲染效率。具体技术方案如下:
第一方面,本发明实施例提供了一种实体渲染方法,所述方法包括:
针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
可选地,所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据之前,所述方法还包括:
对所述多个目标静态实体各自对应的网格数据进行网格减面处理,得到减面处理后的所述多个目标静态实体各自对应的网格数据,并触发所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据的步骤。
可选地,每一目标静态实体的贴图包括至少一个预定类型的贴图;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图,包括:
针对每一预定类型,基于所述多个目标静态实体之间的位置关系,将所述多个目标静态实体的、属于该预定类型的贴图进行拼接,得到该预定类型对应的图集;
将各个预定类型对应的图集,确定为融合贴图。
可选地,每一目标静态实体的贴图的确定方式包括:
获取在进行所述虚拟场景加载时针对该目标静态实体进行渲染时所利用的贴图,作为初始贴图;
响应于所述初始贴图为基于目标环绕方式所得到的贴图,获取该目标静态实体对应的网格数据中表征的各顶点的目标纹理坐标;其中,任一顶点的目标纹理坐标为二维坐标;
基于所得到的各顶点的目标纹理坐标,以及关于纹理坐标与待展开次数的对应关系,确定所述初始贴图在不同的坐标轴方向上的待展开次数;
按照所述初始贴图在不同的坐标轴方向上的待展开次数,分别在相应的坐标轴方向上对所述初始贴图进行展开,得到该目标静态实体的贴图。
可选地,任一实体对应的网格数据包括:网格索引数据以及网格属性数据;其中,所述网格索引数据用于表征任一实体的网格数据中顶点的索引;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据,包括:
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格属性数据进行拼接,以及对所述多个目标静态实体各自对应的网格索引数据进行拼接,并基于所拼接的网格属性数据,修改所拼接的网格索引数据中的索引,得到融合后的网格数据。
可选地,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
根据渲染管线,对所述融合后的网格数据进行渲染,得到初始实体;
根据融合后的网格数据中的各个顶点对应的目标纹理坐标,将所述融合贴图映射至所述初始实体,得到关于所述多个目标静态实体的融合实体;
其中,融合后的网格数据中的任一顶点对应的目标纹理坐标的确定方式,包括:
针对该顶点对应的目标静态实体的贴图,确定该贴图在所述融合贴图中的偏移信息和缩放信息;其中,该顶点对应的目标静态实体为包含该顶点的网格数据所属的静态实体,所述偏移信息用于表征该贴图在所述融合贴图中的位置,所述缩放信息用于表征该贴图在所述融合贴图中的大小;
基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图的偏移信息和缩放信息,确定该顶点在所述融合贴图中的纹理坐标,得到该顶点对应的目标纹理坐标。
可选地,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体之前,所述方法还包括:
基于缩放因子,对所述融合贴图进行缩小,得到待渲染融合贴图;其中,所述缩放因子为基于所述多个目标静态实体的面积以及所述多个目标静态实体的纹理尺寸所得到;
所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
基于所述融合后的网格数据以及所述待渲染融合贴图,渲染生成关于所述多个目标静态实体的融合实体。
可选地,所述确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体,包括:
针对所述虚拟场景中的目标区域,基于材质筛选条件,确定所述目标区域中属于同一材质的多个目标静态实体;
其中,所述材质筛选条件包括:第一条件、第二条件以及第三条件,所述第一条件为所对应的贴图的种类相同的条件,所述第二条件为所对应的第一材质参数相同的条件,所述第三条件为所对应的第二材质参数的差异属于差异阈值的条件。
可选地,所述目标区域的确定方式,包括:
按照轴对齐的方式,对虚拟场景中的初始区域进行划分,针对每次所划分的区域,检测该次所划分的区域是否满足划分停止条件,当检测到满足划分停止条件时,将该次的上一次所划分的区域作为所述目标区域;
其中,所述划分停止条件包括:区域大小小于目标范围的条件。
可选地,所述利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体之后,所述方法还包括:
响应于检测到所述目标区域的显示精度不低于所述预定精度阈值,基于所述多个目标静态实体各自对应的网格数据以及贴图,分别渲染生成所述多个目标静态实体,并利用渲染生成的多个目标静态实体,替换所述虚拟场景中显示的所述融合实体。
第二方面,本发明实施例提供了一种实体渲染装置,所述装置包括:
确定模块,用于针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
第一融合模块,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
第二融合模块,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
第一渲染模块,用于响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的实体渲染方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的实体渲染方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的实体渲染方法。
本发明实施例有益效果:
本发明实施例提供的一种实体渲染方法,针对已渲染完成的虚拟场景,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;为保证多个目标静态实体之间的位置关系不发生变化,可以基于多个目标静态实体之间的位置关系,将同一材质的目标静态实体各自对应的贴图以及网格数据融合,得到融合贴图以及融合后的网格数据;若目标区域的显示精度低于预定精度阈值,即对目标区域的显示精度要求不高,此时可以利用融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体,也就是,通过少量的融合实体,替换显示多个目标静态实体,此时,针对绘制指令的调用次数,以及关于融合后的网格数据以及融合贴图的待渲染数据的调用次数较少,可以快速渲染生成融合实体。可见,本发明中通过将实体融合的方式,减少待渲染数据的调用次数,以及减少绘制指令的调用次数,进而可以提高实体的渲染效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种实体渲染方法的流程示意图;
图2为本发明实施例提供的一种设置有初始区域的虚拟场景的示意图;
图3为本发明实施例提供的一种纹理坐标的正常范围的示意图;
图4为本发明实施例提供的一种展开后的初始贴图的示意图;
图5为本发明实施例提供的一种展开后的初始贴图的另一示意图;
图6为本发明实施例提供的一种融合贴图的示意图;
图7为本发明实施例提供的一种将纹理坐标映射至融合贴图的示意图;
图8为本发明实施例提供的一种网格数据的结构示意图;
图9为本发明实施例提供的一种实体渲染装置的结构示意图;
图10为本发明实施例提供的一种电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
在大型游戏或工业设计的虚拟场景中,虚拟场景中可以包含成千上万个实体,实体可以被渲染并显示至虚拟场景中。
随着视距的扩大,即虚拟场景中的虚拟相机的位置发生变化,会存在大量的显示效果需要更新的实体,待渲染数据和绘制指令的调用次数会成倍增长,从而很大程度上降低实体的加载和渲染的速度,最终导致实体的渲染效率不高。
基于此,本发明提供了一种实体渲染方法、装置、电子设备及存储介质,以提高实体的渲染效率。
下面对本发明所提供的一种实体渲染方法进行介绍。
其中,本发明实施例所提供的一种实体渲染方法可以应用于三维引擎,三维引擎可以作为一种3D软件,在实际应用中,三维引擎可以设置于电子设备,该电子设备可以为终端设备或服务器,示例性的,终端设备可以为手机、电脑等等,本发明并不对电子设备的具体形态进行限定。本发明所提供的一种实体渲染方法可以应用于任一具有实体渲染和显示需求的场景,例如:针对已渲染完成的虚拟场景,当虚拟场景中的虚拟相机位置发生变化,而导致虚拟场景中的实体重新渲染和显示的场景等等。
另外,本发明实施例提供的一种实体渲染方法所涉及的实体为静态实体,由于静态实体位置不发生变化,不同静态实体之间的位置关系不发生变化,针对某一区域,若虚拟相机远离该区域,该区域内的实体的显示精度要求较低,此时可以按照本发明所提供的实体渲染方法,对该区域内的实体进行融合显示;针对动态实体而言,可以按照与现有技术类似的方案,对动态实体进行渲染和显示。其中,本发明所涉及的实体可以称为网格渲染实体,网格渲染实体是虚拟场景中最基础的渲染对象,一个物体可能由多个网格渲染实体组成,例如:房屋可以包含墙壁、房顶、门窗等等,墙壁、房顶、门窗可以分别作为一个实体,共同组成房屋。
本发明实施例所提供的一种实体渲染方法,可以包括如下步骤:
针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
本发明实施例提供的一种实体渲染方法,针对已渲染完成的虚拟场景,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;为保证多个目标静态实体之间的位置关系不发生变化,可以基于多个目标静态实体之间的位置关系,将同一材质的目标静态实体各自对应的贴图以及网格数据融合,得到融合贴图以及融合后的网格数据;若目标区域的显示精度低于预定精度阈值,即对目标区域的显示精度要求不高,此时可以利用融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体,也就是,通过少量的融合实体,替换显示多个目标静态实体,此时,针对绘制指令的调用次数,以及关于融合后的网格数据以及融合贴图的待渲染数据的调用次数较少,可以快速渲染生成融合实体。可见,本发明中通过将实体融合的方式,减少待渲染数据的调用次数,以及减少绘制指令的调用次数,进而可以提高实体的渲染效率。
下面结合附图,对本发明所提供的一种实体渲染方法进行示例性介绍。
如图1所示,本发明所提供的一种实体渲染方法,可以包括如下步骤:
S101:针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
可以理解的是,虚拟场景中的实体可以按照现有技术的方式依次渲染,针对已经渲染完成的虚拟场景,虚拟场景中可以存在虚拟相机,对虚拟场景中的部分实体以及背景等进行显示,此时,处于虚拟相机近处范围内的实体,其显示精度要求较高,距离虚拟相机远处范围的实体,其显示精度要求较低;基于此种特性,由于虚拟相机远处范围的实体显示精度要求较低,本发明将该远处范围的多个实体融合为融合实体,利用融合实体替换多个实体,在该虚拟相机处的显示效果基本一致。首先,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体。其中,目标区域即所包含的实体待融合的区域,目标区域也可以为虚拟场景中的任一区域,本发明对此不做限定。
示例性的,所述确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体,包括:
针对所述虚拟场景中的目标区域,基于材质筛选条件,确定所述目标区域中属于同一材质的多个目标静态实体;
其中,所述材质筛选条件包括:第一条件、第二条件以及第三条件,所述第一条件为所对应的贴图的种类相同的条件,所述第二条件为所对应的第一材质参数相同的条件,所述第三条件为所对应的第二材质参数的差异属于差异阈值的条件。
本发明中在确定目标区域中属于同一材质的多个目标静态实体时,可以设置有材质筛选条件,该材质筛选条件包括:第一条件、第二条件以及第三条件,当多个实体同时满足第一条件、第二条件以及第三条件时,可以被认为属于同一材质。第一条件即所对应的贴图种类相同的条件,例如:贴图种类可以包括至少一个,所对应的贴图的种类的数量相同,且种类相同,则满足第一条件,例如:实体A有Albedo贴图、法线贴图,而实体B只有Albedo贴图,则实体A、实体B不满足第一条件;若实体A有Albedo贴图、法线贴图,实体B也有Albedo贴图、法线贴图,则实体A、实体B满足第一条件。第二条件即所对应的第一材质参数相同的条件,所谓第一材质参数可以理解为:多个实体属于同一材质时,需相同的材质参数,第一材质参数即针对实体的重要材质参数,例如:材质的着色器、是否应用于延迟渲染、是否为双面材质等,满足第二条件的多个静态实体的第一材质参数需均相同。第三条件即所对应的第二材质参数的差异属于差异阈值的条件,所谓第二材质参数可以理解为:多个实体属于同一材质时,可以存在细微差异的材质参数,第二材质参数即针对实体的一般材质参数,例如:Albedo贴图因子,法线贴图因子等,所谓贴图因子应用于贴图,示例性的,贴图因子可以影响贴图的颜色变化,满足第三条件的多个静态实体的第二材质参数的差异需属于差异阈值内。
需要说明的是,第一条件、第二条件以及第三条件可以为用户自定义的材质筛选条件,用户可以根据自身需求灵活调整该材质筛选条件;当材质筛选条件要求越高,如材质参数存在较大差异的静态实体不会被划分为属于同一材质的多个目标静态实体,所得到的属于同一材质的多个目标静态实体的数量可能较少;当材质筛选条件要求较低,如材质参数存在的差异较大的静态实体,也可被划分为属于同一材质的多个目标静态实体,所得到的多个目标静态实体的数量较多,后续融合时,可以更好的减少绘制指令以及待渲染数据的调用次数;也就是,可以根据实际场景或实际需求,灵活调整材质筛选条件,进而得到对应的属于同一材质的多个目标静态实体的结果。当然,该材质筛选条件可以通过材质的误差函数而实现,可以将多个静态实体的贴图以及材质参数等,输入至该误差函数,从而输出属于同一材质的多个目标静态实体,本发明对此不做限定。
可以理解的是,由于虚拟场景中的实体材质各式各样,目标区域中也可以存在多种材质,针对任一材质,均可以确定属于该材质的多个目标静态实体,本发明对此不做限定。
其中,目标区域可以为虚拟场景中的任一区域,所述目标区域的确定方式,包括:
按照轴对齐的方式,对虚拟场景中的初始区域进行划分,针对每次所划分的区域,检测该次所划分的区域是否满足划分停止条件,当检测到满足划分停止条件时,将该次的上一次所划分的区域作为所述目标区域;
其中,所述划分停止条件包括:区域大小小于目标范围的条件。
在确定目标区域时,用户可以先指定一初始区域,示例性的该初始区域可以为立方体区域,可以按照轴对齐的方式,在x、y、z的三维空间不断进行划分,例如:针对初始区域而言,经过一次的划分,该初始区域可以在长、宽、高上分别轴对齐划分两次,得到23=8个小的立方体区域;针对每次划分的区域,可以检测该次所划分的区域是否满足划分停止条件,当满足时,该次的上一次所划分的区域可以作为目标区域。示例性的,划分停止条件包括:区域大小小于目标范围的条件,例如:目标范围可以为16m*16m*16m的范围,当该次所划分的区域小于目标范围时停止划分,该次的上一次为最小的、且不小于目标范围的区域,即目标区域,此时目标区域的大小不小于目标范围,例如:目标区域不小于16m*16m*16m的范围。
当然,划分停止条件还可以包括:所包含的静态实体的贴图总和不小于目标大小,以及所包含的静态实体的网格所表征的三角形面数量不小于目标数量,例如:目标大小为4096*4096,目标数量为1500k。需要说明的是,区域大小小于目标范围的条件、所包含的静态实体的贴图总和不小于目标大小,以及所包含的静态实体的网格所表征的三角形面数量不小于目标数量,可以分别作为第一停止条件、第二停止条件以及第三停止条件,并且,第一停止条件处于最高优先级,第二停止条件的优先级小于第一停止条件的优先级,第三停止条件的优先级小于第二停止条件的优先级;也就是,在划分目标区域时,首先需要保证目标区域的大小不小于目标范围,然后保证目标区域所包含的静态实体的贴图总和小于目标大小,最后再保证目标区域所包含的静态实体的网格所表征的三角形数量小于目标数量。当然,若仅满足第一停止条件,不满足第二停止条件和第三停止条件,或满足第一停止条件和第二停止条件,但不满足第三停止条件,针对区域的划分也需停止,将该次的上一次所划分的区域作为目标区域。在同时满足第一停止条件、第二停止条件以及第三停止条件时,可以保证属于同一材质的多个目标静态实体的数量是合理的,后续融合实体的渲染效果更好,可以更为准确的替换显示属于同一材质的多个目标静态实体。
当然,虚拟场景中的任一区域均可以作为初始区域进行划分,本发明对此不做限定。
S102:基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
确定目标区域中属于同一材质的多个目标静态实体后,可以将多个目标静态实体的贴图以及网格数据分别融合,即将多个目标静态实体的待渲染数据融合,以便后续利用融合后的网格数据以及融合贴图渲染融合实体。为保证后续融合实体与多个目标静态实体的显示内容基本一致,可以基于多个目标静态实体之间的位置关系,先对多个目标静态实体的贴图进行融合,得到融合贴图。
可以理解的是,在确定属于同一材质的多个目标静态实体时,每一静态实体可以包括至少一个种类的贴图,即每一目标静态实体的贴图包括至少一个预定类型的贴图;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图,包括:
针对每一预定类型,基于所述多个目标静态实体之间的位置关系,将所述多个目标静态实体的、属于该预定类型的贴图进行拼接,得到该预定类型对应的图集;
将各个预定类型对应的图集,确定为融合贴图。
本发明中,多个目标静态实体各自的贴图进行融合是将其中同类型的贴图分别融合,具体而言,每一目标静态实体的贴图包括至少一个预定类型的贴图,针对每一预定类型,均可以基于多个目标静态实体之间的位置关系,将多个目标静态实体的、属于该预定类型的贴图进行拼接,得到预定类型对应的图集,各个预定类型对应的图集可以确定为融合贴图。例如:贴图在合并时,是将贴图之间分类合并,即Albedo贴图与Albedo贴图合并,法线贴图与法线贴图合并。示例性的,贴图的预定类型可以为:Albedo贴图、金属度粗糙度贴图、法线贴图或自发光贴图,当然还可以为颜色贴图、Metallic贴图、Specular贴图、视差贴图、凹凸贴图、Height Map高度贴图、AO贴图、Occlusion贴图、Emission贴图等等,本发明对此不做限定。
可以理解的是,针对两目标静态实体而言,实体1位于实体2左侧,针对每一预定类型,可以将实体1预定类型的贴图设置于左侧,将实体2预定类型的贴图设置于右侧,然后进行拼接得到该预定类型对应的图集。对所述多个目标静态实体各自的贴图进行融合,得到融合贴图的具体实现方式将在后续实施例进行详细介绍,在此不做赘述。
另外,多个目标静态实体中,静态实体之间可能并未紧密相邻,但后续的融合实体是在目标区域的显示精度低于预定精度阈值时才替换虚拟场景中显示的多个目标静态实体,因此,融合实体的显示精度要求并不高,在生成融合贴图时,无论多个目标静态实体是否紧密相邻、是否存在间隔,均可以基于多个目标静态实体之间的位置关系,将其对应的同类型的贴图进行拼接;类似的,无论多个目标静态实体是否紧密相邻、是否存在间隔,均可以基于多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行拼接。
S103:基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
确定目标区域中属于同一材质的多个目标静态实体后,可以将多个目标静态实体的贴图以及网格数据分别融合,以便后续利用融合后的网格数据以及融合贴图渲染融合实体。为保证后续融合实体与多个目标静态实体的显示内容基本一致,还可以基于多个目标静态实体之间的位置关系,对多个目标静态实体的各自对应的网格数据进行融合,得到融合后的网格数据。
示例性的,任一实体的网格数据中可以包含有多类数据,任一实体对应的网格数据包括:网格索引数据以及网格属性数据;其中,所述网格索引数据用于表征任一实体的网格数据中顶点的索引;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据,包括:
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格属性数据进行拼接,以及对所述多个目标静态实体各自对应的网格索引数据进行拼接,并基于所拼接的网格属性数据,修改所拼接的网格索引数据中的索引,得到融合后的网格数据。
任一实体对应的网格数据可以包括网格索引数据以及网格属性数据,网格属性数据包括网格的位置、法线、纹理坐标、切线等等,示例性的,网格属性数据可以以数组的方式顺序存储,按照顺序的每组数组中包括三个顶点;网格索引数据与网格属性数据相对应,网格索引数据中的某一点指向网格属性数据中某一具体的顶点,从而通过网格索引数据和网格属性数据,可以表征各个三角网格。与贴图的融合方式类似,可以基于多个目标静态实体之间的位置关系,对多个目标静态实体各自对应的网格属性数据进行拼接,以及对多个目标静态实体各自对应的网格索引数据进行拼接,由于网格索引数据表征网格属性数据中顶点的索引,或者称为偏移,在拼接后,部分目标静态实体对应的网格索引数据需进行修改,可以基于所拼接的网格属性数据,修改所拼接的网格索引数据中的索引,得到融合后的网格数据;例如:目标静态实体1的中网格属性数据存在90个顶点,目标静态实体2中的网格属性数据中存在60个顶点,目标静态实体1位于目标静态实体2左侧,可以将目标静态实体2网格属性数据中的第1个顶点拼接至目标静态实体1网格属性数据中的第90个顶点,得到拼接后的网格属性数据;以及可以将目标静态实体2网格索引数据中的第1个点拼接至目标静态实体1网格索引数据中的第90个点,得到拼接后的网格索引数据,未修改之前,拼接后的网格索引数据中的点为1-90以及1-60,还需基于拼接后的网格属性数据,修改拼接后的网格索引数据中的索引,修改后的拼接后的网格属性数据中的点为1-150,即在后的网格索引数据在拼接时,还需加上在前的网格属性数据中顶点的数量。
当然,任一实体可以对应有不同显示精度的网格,例如:lod0、lod1、lod2(LOD,Levels of Detail,多细节层次),lod0-lod2显示精度依次降低,针对不同的显示精度需求,可以选择对应显示精度的网格,对该实体进行渲染。本发明中,后续所渲染的融合实体的显示精度低于预定精度阈值,例如:显示精度低于lod1的显示精度,此时对多个目标静态实体各自对应的网格数据进行融合也就是将多个目标静态实体各自对应的lod2精度的网格数据融合。
另外,所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据之前,所述方法还包括:
对所述多个目标静态实体各自对应的网格数据进行网格减面处理,得到减面处理后的所述多个目标静态实体各自对应的的网格数据,并触发所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据的步骤。
在对多个目标静态实体各自对应的网格数据进行融合之前,本发明还可以先对多个目标静态实体各自对应的网格数据进行网格减面处理,例如:采用现有的网格减面算法,对多个目标静态实体各自对应的网格数据进行减面处理,即减少多个目标静态实体各自对应的网格数据所表征三角网格的数量,以便后续的融合和渲染。减面之后,可以触发基于多个目标静态实体之间的位置关系,对多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据的步骤,也就是,基于多个目标静态实体之间的位置关系,对多个目标静态实体各自对应的、减面后的网格数据进行融合,得到融合后的网格数据。
通过网格减面的方式,可以减少各个目标静态实体的网格数据所表征的三角网格的数量,即减少目标静态实体的网格数据的数据量,使得网格数据的融合更为迅速,提高后续融合实体的渲染效率。
S104:响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体;
得到融合贴图以及融合后的网格数据之后,若检测到目标区域的显示精度低于预定精度阈值,例如:虚拟场景中的虚拟相机远离目标区域,目标区域中实体的显示精度低于预定精度阈值,例如:低于lod1的显示精度,则可以基于融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体。此时,该融合实体的融合后的网格数据数据量较少,且调用融合后的网格数据以及融合贴图的次数为一次,并且调用绘制指令的次数也为一次,大大减少了绘制指令以及待渲染数据的调用次数,可以快速渲染生成能够在低显示精度下的多个目标静态实体。
需要强调的是,针对目标区域外的静态实体,当虚拟场景中的虚拟相机位置发生变化后,受影响的各静态实体均可以按照其对应的显示精度,分别通过与现有技术类似的方式,渲染显示各静态实体。当然,目标区域中还可能存在一些与其他材质均不相同的静态实体,可以按照与融合实体相同的显示精度,按照现有技术的方式,调用该与其他材质均不相同的静态实体的待渲染数据,以及调用绘制指令,渲染和显示与其他材质均不相同的静态实体。
针对动态实体而言,动态实体也可以按照现有技术类似的方式,渲染和显示动态实体,与静态实体不同的是,无论虚拟场景中的虚拟相机位置是否发生变化,动态实体均需按照其显示精度实时渲染。
当然,虚拟场景中的任一区域均可以作为目标区域,目标区域内的静态实体均可以按照本发明提供的实体渲染方法,在目标区域的显示精度低于预定精度阈值时,通过渲染融合实体的方式提高实体的渲染效率。
虚拟场景中的虚拟相机的还可以靠近目标区域,当目标区域的显示精度不低于预定精度阈值时,利用融合实体替换多个目标静态实体显然是不合适的,所述利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体之后,所述方法还包括:
响应于检测到所述目标区域的显示精度不低于所述预定精度阈值,基于所述多个目标静态实体各自对应的网格数据以及贴图,分别渲染生成所述多个目标静态实体,并利用渲染生成的多个目标静态实体,替换所述虚拟场景中显示的所述融合实体。
目标区域的显示精度还可以不低于预定精度阈值,即此时针对目标区域的显示精度要求较高,此时先渲染多个目标静态实体,并将多个目标静态实体,替换虚拟场景中显示的融合实体。
可见,本发明中针对目标区域的显示精度与预设精度阈值的关系,可以灵活采用融合实体或多个目标静态实体进行显示,以满足不同的显示精度需求。
本发明实施例提供的一种实体渲染方法,针对已渲染完成的虚拟场景,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;为保证多个目标静态实体之间的位置关系不发生变化,可以基于多个目标静态实体之间的位置关系,将同一材质的目标静态实体各自对应的贴图以及网格数据融合,得到融合贴图以及融合后的网格数据;若目标区域的显示精度低于预定精度阈值,即对目标区域的显示精度要求不高,此时可以利用融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体,也就是,通过少量的融合实体,替换显示多个目标静态实体,此时,针对绘制指令的调用次数,以及关于融合后的网格数据以及融合贴图的待渲染数据的调用次数较少,可以快速渲染生成融合实体。可见,本发明中通过将实体融合的方式,减少待渲染数据的调用次数,以及减少绘制指令的调用次数,进而可以提高实体的渲染效率。
可选地,在本发明的另一实施例中,每一目标静态实体的贴图的确定方式包括:
获取在进行所述虚拟场景加载时针对该目标静态实体进行渲染时所利用的贴图,作为初始贴图;
响应于所述初始贴图为基于目标环绕方式所得到的贴图,获取该目标静态实体对应的网格数据中表征的各顶点的目标纹理坐标;其中,任一顶点的目标纹理坐标为二维坐标;
基于所得到的各顶点的目标纹理坐标,以及关于纹理坐标与待展开次数的对应关系,确定所述初始贴图在不同的坐标轴方向上的待展开次数;
按照所述初始贴图在不同的坐标轴方向上的待展开次数,分别在相应的坐标轴方向上对所述初始贴图进行展开,得到该目标静态实体的贴图。
可以理解的是,每一目标静态实体在渲染时具有其对应的贴图,通常是通过纹理坐标,将目标静态实体对应的贴图贴至目标静态实体中,从而得到渲染完毕的目标静态实体。在获取目标静态实体对应的贴图时,可以先获取虚拟场景加载时该目标静态实体进行渲染时所利用的贴图作为初始贴图;可以理解的是,初始贴图可能为基于目标环绕方式所得到的贴图,例如:纹理坐标的范围通常为(0,0)到(1,1),但目标静态实体的网格数据所表征的某些顶点对应的纹理坐标可能超过(0,0)到(1,1)的范围,例如(1.5,1.5),此时,在渲染目标静态实体时,可以基于目标环绕方式,对(0,0)到(1,1)的范围内的贴图进行环绕,得到初始贴图;针对初始贴图为基于目标环绕方式所得到的贴图的情况,可以获取目标静态实体对应的网格数据中表征的各个顶点的目标纹理坐标,由于贴图通常是基于二维的纹理坐标贴至实体,任一顶点的目标纹理坐标也为二维坐标;此时,可以基于所得到的各顶点的目标纹理坐标,以及关于纹理坐标与带展开次数的对应关系,确定初始贴图在不同的坐标正方向上的待展开次数,并在相应的坐标轴方向上对初始贴图展开,得到目标静态实体的贴图。示例性的,在确定初始贴图在不同坐标轴方向上的待展开次数时,x轴方向上,若最大坐标和最小坐标的两点分别为A点(0.0,0.0),B点(10.0,0.0),则其对应的待展开次数为10次,才能保证后续纹理坐标映射的正确性,此时,还可以将初始贴图的uv映射至展开后的初始贴图的uv,其具体实现方式将在后续实施例进行详细介绍。
示例性的,目标环绕方式可以为wrap,即重复纹理图像的环绕方式,当然,还可以为重复图案、边缘拉伸、添加边界等等,本发明以重复纹理图像的环绕方式为例进行介绍。当然,若目标静态实体的网格数据所表征的顶点均未超过(0,0)到(1,1)的范围,则可以直接将目标静态实体的初始贴图,作为目标静态实体的贴图。关于初始贴图在不同的坐标轴方向上的待展开次数以及其具体展开方式,将在后续实施例进行详细介绍,在此不做赘述。
通过对基于目标环绕方式所得到的初始贴图进行展开的方式,可以保证后续融合贴图中纹理坐标映射的正确性,使得融合贴图可以正确贴至对应的位置,得到准确的融合实体。
可选地,在本发明的另一实施例中,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
根据渲染管线,对所述融合后的网格数据进行渲染,得到初始实体;
根据融合后的网格数据中的各个顶点对应的目标纹理坐标,将所述融合贴图映射至所述初始实体,得到关于所述多个目标静态实体的融合实体;
其中,融合后的网格数据中的任一顶点对应的目标纹理坐标的确定方式,包括:
针对该顶点对应的目标静态实体的贴图,确定该贴图在所述融合贴图中的偏移信息和缩放信息;其中,该顶点对应的目标静态实体为包含该顶点的网格数据所属的静态实体,所述偏移信息用于表征该贴图在所述融合贴图中的位置,所述缩放信息用于表征该贴图在所述融合贴图中的大小;
基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图的偏移信息和缩放信息,确定该顶点在所述融合贴图中的纹理坐标,得到该顶点对应的目标纹理坐标。
在渲染多个目标静态实体的融合实体时,可以先根据渲染管线,对融合后的网格数据进行渲染,得到初始实体;即此时的初始实体中未添加有融合贴图,而融合后的网格数据中的各个顶点的目标纹理坐标,可以表征融合后的网格数据中的各个顶点位于融合贴图中的位置,相当于融合贴图与初始实体中三角网格顶点的映射关系,可以基于融合后的网格数据中的各个顶点对应的目标纹理坐标,将融合贴图映射至初始实体,得到多个目标静态实体的融合实体。
可以理解的是,任一顶点在该顶点对应的目标静态实体的贴图中也具有纹理坐标,可以基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图的偏移信息和缩放信息,确定该顶点在融合贴图中的纹理坐标,即该顶点的目标纹理坐标。其中,偏移信息用于表征该贴图在融合贴图中的位置,缩放信息用于表征该贴图在融合贴图中的大小,例如:融合贴图的范围为(0,0)到(1,1),该贴图占据融合贴图1/4的面积,且位于该融合贴图的左上角,左上角的坐标为(0,0),则缩放信息为(0.5,0.5),偏移信息为(0.0,0.0)。
需要说明的是,通过融合后的网格数据中的各个顶点对应的目标纹理坐标,可以将融合贴图映射至初始实体,从而得到渲染完成的融合实体;任一顶点的目标纹理坐标可以基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图在融合贴图中的偏移信息以及缩放信息计算得到,任一顶点的目标纹理坐标可以表征融合后的网格数据中的顶点与融合贴图的中的像素点的对应关系,可以以此为依据,将融合贴图映射至初始实体,得到渲染完成,且贴图对应准确的融合实体。
可选地,在本发明的另一实施例中,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体之前,所述方法还包括:
基于缩放因子,对所述融合贴图进行缩小,得到待渲染融合贴图;其中,所述缩放因子为基于所述多个目标静态实体的面积以及所述多个目标静态实体的纹理尺寸所得到;
所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
基于所述融合后的网格数据以及所述待渲染融合贴图,渲染生成关于所述多个目标静态实体的融合实体。
可以理解的是,目标区域的显示精度低于预定精度阈值时,虚拟场景中的虚拟相机通常是远离目标区域,此时目标区域中的实体的大小通常是缩小的,因此,在利用渲染融合实体之前,还可以先将融合贴图缩小,可以基于缩放因子,对融合贴图缩小,得到待渲染融合贴图,在渲染融合实体时,可以利用缩小后的、待渲染融合贴图,以及融合后的网格数据,渲染生成多个目标静态实体的融合实体。
示例性的,缩放因子可以基于多个目标静态实体的面积以及多个目标静态实体的纹理尺寸所得到,当然,在计算缩放因子时,还可以预设有期望单位面积所占的纹理元素的大小,使得该缩放因子的值小于1,其具体计算方式将在后续实施例进行介绍,在此不做赘述。
通过缩放因子的方式对融合贴图进行缩小,在渲染融合实体时,可以得到更为准确显示的融合实体。
下面基于另一实施例,对本发明实施例提供的一种实体渲染方法进行详细介绍。
本发明将多个网格渲染实体合并成一个网格渲染实体,并在远处替换掉原有的多个网格渲染实体,减少虚拟场景中需要渲染的实体数量,从而减少每帧的绘制调用次数,同时,待渲染数据合并的过程中会将贴图缩放并合并,在动态加载中可以替换到原有的多个实体的高精度贴图,一定程度上节省了显存占用,提高了每帧绘制的性能。
首先通过空间划分确定目标区域,以及通过材质分类确定目标区域中属于同一材质的多个目标静态实体,来确定哪些网格渲染实体能够合并,具体的合并包括:材质的合并、网格的减面和网格的合并;材质的合并主要处理贴图,包括贴图的缩放以及如何合并为图集;网格的减面即减少网格数据所表征三角网格的数量;网格的合并是将减面后的网格合并在一起,并根据贴图合并的结果,修改每个子实体(即属于同一材质的多个目标静态实体)对应到图集(即融合贴图)上的纹理坐标。
网格渲染实体合并生成了融合实体之后,在虚拟场景中在虚拟相机远离目标区域时,用对应的融合实体来替换掉目标区域的多个目标静态实体,并在虚拟相机靠近目标区域时重新加载多个目标静态实体,卸载掉融合实体。
具体包括如下步骤:
步骤1:确定目标区域;
首先需要指定生成加速结构的范围,即确定虚拟场景中的能够加速渲染实体的目标区域,用户可以自定义虚拟场景中的一立方体(Volume)区域,即上述的初始区域,在此基础上,对立方体volume区域继续划分,空间划分采用轴对齐的方式,在x,y,z空间中不断进行划分直到到达划分停止条件。划分停止条件:(1)目标区域cluster的范围不能小于16m*16m*16m;对应上述满足第一停止条件时,上一次所划分的区域所满足的条件;(2)目标区域cluster中所包含的实体的贴图总和大小满足条件(小于4096*4096);其中,在对立方体区域进行划分确定目标区域时,针对所划分的每一区域,该区域内的贴图可以预先合并为一图集,并大致计算该区域内所包含的实体的贴图总和的大小,即计算该区域对应的图集的大小;具体地,可以按照步骤4的方式,计算该区域内所包含的每一实体的贴图对应的缩放因子,并按照缩放因子对该贴图进行缩放,计算缩放后的贴图的像素,该区域内所包含的每一实体的、缩放后的贴图对应的像素累加,得到该区域内所包含的实体的贴图的像素总和,目标区域内所计算的实体的贴图的像素总和应小于4096*4096。对应上述满足第二停止条件时,上一次所划分的区域所满足的条件;(3)目标区域cluster内所有网格渲染实体的总三角形网格是否满足条件(小于1500k);对应上述满足第三停止条件时,上一次所划分的区域所满足的条件。上述条件的优先级顺序为(1)、(2)、(3),即在完成(1)的条件下,尽量完成(2),在完成(2)的条件下,尽量完成(3)。如图2所示,初始区域为一立方体区域,该区域中可以包括多个实体,对初始区域进行划分的同时,也对初始区域中所包含的多个实体进行了划分,当满足划分停止条件时,可以得到目标区域,后续可以识别目标区域内属于同一材质的多个目标静态实体。对应上述目标区域的确定方式,
步骤2:识别目标区域中属于同一材质的多个目标静态实体;
由于网格渲染实体进入目标区域cluster被合并后,会生成新的网格渲染实体,即融合实体(此时可能还未被渲染),在合并前需要考虑多种不同材质的网格渲染实体是否能够合并,本发明中支持用户自定义关于材质的误差函数,通过误差函数控制需要判断的材质种类来调整能够容忍误差的范围,进而判断属于同一材质的多个目标静态实体,具体来说有以下几种类型的判断:(1)网格渲染实体包含的贴图种类不同时,不能划分为同一材质,进行判断的贴图种类有Albedo贴图,金属度粗糙度贴图,法线贴图,自发光贴图等等。比如网格渲染实体A有Albedo贴图、法线贴图,而网格渲染实体B只有Albedo贴图,则A、B不能合并;(2)网格渲染实体的重要材质参数不同,不能划分为同一材质,重要材质参数指的是不存在任何差异的参数,如:材质的着色器,是否应用于延迟渲染,是否为双面材质等,以上任意一点不同,则不能划分为属于同一材质进行合并;(3)网格渲染实体的一般材质参数数值差异超过阈值,不能划分为同一材质,一般材质是指允许有些许差异的材质参数,但其差异的大小不能超过阈值,一般材质参数有:Albedo贴图因子,法线贴图因子等。对应上述针对所述虚拟场景中的目标区域,基于材质筛选条件,确定所述目标区域中属于同一材质的多个目标静态实体。
步骤3:属于同一材质的多个目标静态实体的同类型贴图合并;
划分为同一材质的网格渲染实体可以进行贴图的合并,贴图之间分类合并,即Albedo贴图与Albedo贴图合并,法线贴图与法线贴图合并。如果两个实体所拥有的贴图种类不同,则不能算做同一材质。例如:实体A拥有Albedo贴图和法线贴图,但实体B只有Albedo贴图,二者拥有的贴图数量和种类不能对齐,则不能算作同一材质。对应上述针对每一预定类型,基于所述多个目标静态实体之间的位置关系,将所述多个目标静态实体的、属于该预定类型的贴图进行拼接,得到该预定类型对应的图集;将各个预定类型对应的图集,确定为融合贴图。
针对属于同一材质的多个目标静态实体的同类型贴图,可以按照多个目标静态实体的位置关系,将多个目标静态实体的同类型贴图直接拼接,得到的融合贴图如图6所示。
如图3所示,纹理坐标(uv)的范围通常是(0,0)到(1,1),但某些网格数据中顶点的uv会出现大于1的情况,通常情况下,GPU会通过用户所指定环绕方式来产生特定的输出,主要的贴图环绕方式为wrap,即重复纹理图像,对应上述目标环绕方式。如图4所示,图4是一张示例贴图,假设此时有三个点ABC的顶点坐标分别为(0.5,0.5),(1.5,0.5),(1.5,1.5),在GPU的渲染管线中,会自动插值计算出后续每个像素着色所需的顶点信息,例如:三个点ABC计算后的顶点信息为(0.5,0.5),(0.5,0.5),(0.5,0.5)。也就是,任一目标静态实体在渲染时,可能存在其网格的顶点超过贴图的纹理坐标的正常范围(0,0)到(1,1)的情况,此时在计算每个像素着色的顶点信息时,可以利用该顶点的坐标,映射至(0,0)到(1,1)的范围内,从而渲染目标静态实体。插值出来大于1的坐标,会去除整数部分,直接用其小数部分来采样。以上的过程都内置在GPU的自动光栅器中,设置为wrap环绕方式后是默认生效的。
但wrap环绕能够生效的前提是,贴图四周的边界必须连续,而贴图一旦合入图集后(即多个目标静态实体各自对应的贴图融合为图集),目标静态实体的初始贴图的边界被破坏,不再连续,此时可以手动将初始贴图展开,来应对三角形跨越单张贴图的情况。
也就是,针对环绕方式为wrap的初始贴图,在合并之前需要将该初始贴图的uv展开,处理方式如下:
对于环绕方式为wrap的初始贴图,遍历其所属目标静态实体的网格数据所表征的顶点uv,最大uv和最小uv之差即为待展开次数,然后贴图复制循环上述的待展开次数。如三角形uv使用了循环坐标,例如一条边中A点(0.0,0.0),B点(10.0,0.0),则贴图需要在x方向循环10次,这样才能在图集中保持该初始贴图局部uv坐标映射的正确性。
如图5所示,灰色区域表征初始贴图,这张初始贴图循环了2*3次,即在x轴方向展开了2次,在y轴方向展开了3次。
初始贴图展开后,还需将初始贴图的uv转换至展开的初始贴图的uv,uv转换形式:uvold是展开前的初始贴图的uv,uvmin表示展开后最小顶点的uv,uvrange表示初始贴图循环的次数。uvwrap则是展开的初始贴图uv坐标,这个坐标保证了展开的初始贴图uv不会大于1。对应上述每一目标静态实体的贴图的确定方式。
步骤4:缩小合并后的融合贴图;由于合并后的网格渲染实体主要在远处渲染,往往不需要太高的细节精度,其贴图大小可以根据合并前的网格渲染实体的尺寸进行重新缩小,以减小合并后的资源开销。重新缩放的尺寸满足以下条件:
其中,GeometrySurfaceSize是合并前的网格渲染实体的表面积,通过遍历累计每个网格渲染实体的网格数据中三角形的面积得到,TextureSize是合并前的网格渲染实体所占的纹素,512是期望每平方米的表面积所占的纹素,通过缩放因子Texture Scale可以将融合贴图缩小至合理的大小。对应上述基于缩放因子,对所述融合贴图进行缩小,得到待渲染融合贴图。
步骤5:修改每一目标静态实体映射至融合贴图的纹理坐标,得到每一目标静态实体的顶点的目标纹理坐标;
贴图合并的同时需要记录每张贴图在图集中的偏移和缩放信息,每个网格渲染实体网格数据合并时需要重新将顶点uv映射到新图集上,转换形式uvnew=uvwrap*scale+bias,其中,scale为缩放信息,bias为偏移信息,uvwrap可以为该顶点在融合前的贴图中的坐标。以图3中所示的贴图为例,如图7所示,该贴图合入图集中的位置在右上角,偏移信息即该贴图的左上角在图集的坐标(0.5,0),缩放信息即该贴图在图集中所占的大小,为(0.5,0.5),即该贴图占图集的比例为1/4;若点P1的在该贴图的原始uv为(0.5,0.5),则P1在图集中的坐标为(0.75,0.25)。得到每一目标静态实体的顶点的目标纹理坐标后,后续可以在渲染融合实体时,将融合贴图映射至初始实体对应的位置,从而得到融合实体。对应上述融合后的网格数据中的任一顶点对应的目标纹理坐标的确定方式。
步骤6:属于同一材质的多个目标静态实体的网格数据合并;
每个网格渲染实体有三种不同显示精度的网格,分别为lod0,lod1、lod2,随着数字增大精度降低,在不同的视距范围应用不同精度的网格,可以有效的提升渲染效率。而融合实体的视距较远,本发明中直接用最低精度的、多个目标静态实体各自对应的lod2网格数据来合并。如图8所示,任一目标静态实体的网格数据的合并网格索引数据index buffer和网格属性数据vertex buffer,网格属性数据包括网格的位置、法线、纹理坐标、切线等,在网格数据中,网格属性数据以数组的方式顺序存储。网格索引数据中的点指向网格属性数据vertex buffer中具体的某个顶点。在网格数据合并时,网格属性数据vertex buffer直接拼接,网格索引数据index buffer则不同,网格索引数据表示的是网格属性数据中的顶点在整个网格中的偏移,网格索引数据在拼接时,后续拼接的网格索引数据的每个点需要加上之前累计拼接的网格属性数据顶点的数量。对应上述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据。
另外,对于可破坏物,可以在合并后的网格数据中某个顶点属性标记出来,比如顶点颜色属性,标记之后的顶点表示可破坏。
步骤7:在目标区域的显示精度低于预定精度阈值时,基于融合后的网格数据以及融合贴图,渲染生成融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体;
完成网格渲染实体的合并后,在目标区域的显示精度低于预定精度阈值时,基于融合后的网格数据以及融合贴图,渲染生成融合实体,并利用融合实体在虚拟场景中替换掉远处对应的高细节多个目标静态实体,多个目标静态实体的高细节贴图替换成低细节的融合贴图,能够降低显存(如:由10.9G降低至9.2G),绘制调用次数减少(如:绘制次数由2883降低至2137)。
本发明提供的一种实体渲染方法,针对已渲染完成的虚拟场景,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;为保证多个目标静态实体之间的位置关系不发生变化,可以基于多个目标静态实体之间的位置关系,将同一材质的目标静态实体各自对应的贴图以及网格数据融合,得到融合贴图以及融合后的网格数据;若目标区域的显示精度低于预定精度阈值,即对目标区域的显示精度要求不高,此时可以利用融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体,也就是,通过少量的融合实体,替换显示多个目标静态实体,此时,针对绘制指令的调用次数,以及关于融合后的网格数据以及融合贴图的待渲染数据的调用次数较少,可以快速渲染生成融合实体。可见,本发明中通过将实体融合的方式,减少待渲染数据的调用次数,以及减少绘制指令的调用次数,进而可以提高实体的渲染效率。
基于上述方法实施例,本发明还提供了一种实体渲染装置,如图9所示,该装置包括:
确定模块910,用于针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
第一融合模块920,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
第二融合模块930,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
第一渲染模块940,用于响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
本发明实施例提供的一种实体渲染装置,针对已渲染完成的虚拟场景,可以先确定虚拟场景的目标区域中属于同一材质的多个目标静态实体;为保证多个目标静态实体之间的位置关系不发生变化,可以基于多个目标静态实体之间的位置关系,将同一材质的目标静态实体各自对应的贴图以及网格数据融合,得到融合贴图以及融合后的网格数据;若目标区域的显示精度低于预定精度阈值,即对目标区域的显示精度要求不高,此时可以利用融合后的网格数据以及融合贴图,渲染生成关于多个目标静态实体的融合实体,并利用融合实体替换虚拟场景中显示的多个目标静态实体,也就是,通过少量的融合实体,替换显示多个目标静态实体,此时,针对绘制指令的调用次数,以及关于融合后的网格数据以及融合贴图的待渲染数据的调用次数较少,可以快速渲染生成融合实体。可见,本发明中通过将实体融合的方式,减少待渲染数据的调用次数,以及减少绘制指令的调用次数,进而可以提高实体的渲染效率。
可选地,所述装置还包括减面模块,用于:
对所述多个目标静态实体各自对应的网格数据进行网格减面处理,得到减面处理后的所述多个目标静态实体各自对应的的网格数据,并触发所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据的步骤。
可选地,每一目标静态实体的贴图包括至少一个预定类型的贴图;
所述第一融合模块,具体用于:
针对每一预定类型,基于所述多个目标静态实体之间的位置关系,将所述多个目标静态实体的、属于该预定类型的贴图进行拼接,得到该预定类型对应的图集;
将各个预定类型对应的图集,确定为融合贴图。
可选地,每一目标静态实体的贴图的确定方式包括:
获取在进行所述虚拟场景加载时针对该目标静态实体进行渲染时所利用的贴图,作为初始贴图;
响应于所述初始贴图为基于目标环绕方式所得到的贴图,获取该目标静态实体对应的网格数据中表征的各顶点的目标纹理坐标;其中,任一顶点的目标纹理坐标为二维坐标;
基于所得到的各顶点的目标纹理坐标,以及关于纹理坐标与待展开次数的对应关系,确定所述初始贴图在不同的坐标轴方向上的待展开次数;
按照所述初始贴图在不同的坐标轴方向上的待展开次数,分别在相应的坐标轴方向上对所述初始贴图进行展开,得到该目标静态实体的贴图。
可选地,任一实体对应的网格数据包括:网格索引数据以及网格属性数据;其中,所述网格索引数据用于表征任一实体的网格数据中顶点的索引;
所述第二融合模块,具体用于:
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格属性数据进行拼接,以及对所述多个目标静态实体各自对应的网格索引数据进行拼接,并基于所拼接的网格属性数据,修改所拼接的网格索引数据中的索引,得到融合后的网格数据。
可选地,所述第一渲染模块,具体用于:
根据渲染管线,对所述融合后的网格数据进行渲染,得到初始实体;
根据融合后的网格数据中的各个顶点对应的目标纹理坐标,将所述融合贴图映射至所述初始实体,得到关于所述多个目标静态实体的融合实体;
其中,融合后的网格数据中的任一顶点对应的目标纹理坐标的确定方式,包括:
针对该顶点对应的目标静态实体的贴图,确定该贴图在所述融合贴图中的偏移信息和缩放信息;其中,该顶点对应的目标静态实体为包含该顶点的网格数据所属的静态实体,所述偏移信息用于表征该贴图在所述融合贴图中的位置,所述缩放信息用于表征该贴图在所述融合贴图中的大小;
基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图的偏移信息和缩放信息,确定该顶点在所述融合贴图中的纹理坐标,得到该顶点对应的目标纹理坐标。
可选地,所述装置还包括缩小模块,用于:
基于缩放因子,对所述融合贴图进行缩小,得到待渲染融合贴图;其中,所述缩放因子为基于所述多个目标静态实体的面积以及所述多个目标静态实体的纹理尺寸所得到;
所述第一渲染模块,具体用于:
基于所述融合后的网格数据以及所述待渲染融合贴图,渲染生成关于所述多个目标静态实体的融合实体。
可选地,所述确定模块,具体用于:
针对所述虚拟场景中的目标区域,基于材质筛选条件,确定所述目标区域中属于同一材质的多个目标静态实体;
其中,所述材质筛选条件包括:第一条件、第二条件以及第三条件,所述第一条件为所对应的贴图的种类相同的条件,所述第二条件为所对应的第一材质参数相同的条件,所述第三条件为所对应的第二材质参数的差异属于差异阈值的条件。
可选地,所述目标区域的确定方式,包括:
按照轴对齐的方式,对虚拟场景中的初始区域进行划分,针对每次所划分的区域,检测该次所划分的区域是否满足划分停止条件,当检测到满足划分停止条件时,将该次的上一次所划分的区域作为所述目标区域;
其中,所述划分停止条件包括:区域大小小于目标范围的条件。
可选地,所述装置还包括第二渲染模块,用于:
响应于检测到所述目标区域的显示精度不低于所述预定精度阈值,基于所述多个目标静态实体各自对应的网格数据以及贴图,分别渲染生成所述多个目标静态实体,并利用渲染生成的多个目标静态实体,替换所述虚拟场景中显示的所述融合实体。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现任一所述的实体渲染方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实体渲染方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一实体渲染方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种实体渲染方法,其特征在于,所述方法包括:
针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据之前,所述方法还包括:
对所述多个目标静态实体各自对应的网格数据进行网格减面处理,得到减面处理后的所述多个目标静态实体各自对应的网格数据;
其中,每一目标静态实体的贴图包括至少一个预定类型的贴图;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图,包括:
针对每一预定类型,基于所述多个目标静态实体之间的位置关系,将所述多个目标静态实体的、属于该预定类型的贴图进行拼接,得到该预定类型对应的图集;
将各个预定类型对应的图集,确定为融合贴图。
3.根据权利要求1所述的方法,其特征在于,每一目标静态实体的贴图的确定方式包括:
获取在进行所述虚拟场景加载时针对该目标静态实体进行渲染时所利用的贴图,作为初始贴图;
响应于所述初始贴图为基于目标环绕方式所得到的贴图,获取该目标静态实体对应的网格数据中表征的各顶点的目标纹理坐标;其中,任一顶点的目标纹理坐标为二维坐标;
基于所得到的各顶点的目标纹理坐标,以及关于纹理坐标与待展开次数的对应关系,确定所述初始贴图在不同的坐标轴方向上的待展开次数;
按照所述初始贴图在不同的坐标轴方向上的待展开次数,分别在相应的坐标轴方向上对所述初始贴图进行展开,得到该目标静态实体的贴图。
4.根据权利要求1所述的方法,其特征在于,任一实体对应的网格数据包括:网格索引数据以及网格属性数据;其中,所述网格索引数据用于表征任一实体的网格数据中顶点的索引;
所述基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据,包括:
基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格属性数据进行拼接,以及对所述多个目标静态实体各自对应的网格索引数据进行拼接,并基于所拼接的网格属性数据,修改所拼接的网格索引数据中的索引,得到融合后的网格数据。
5.根据权利要求1所述的方法,其特征在于,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
根据渲染管线,对所述融合后的网格数据进行渲染,得到初始实体;
根据融合后的网格数据中的各个顶点对应的目标纹理坐标,将所述融合贴图映射至所述初始实体,得到关于所述多个目标静态实体的融合实体;
其中,融合后的网格数据中的任一顶点对应的目标纹理坐标的确定方式,包括:
针对该顶点对应的目标静态实体的贴图,确定该贴图在所述融合贴图中的偏移信息和缩放信息;其中,该顶点对应的目标静态实体为包含该顶点的网格数据所属的静态实体,所述偏移信息用于表征该贴图在所述融合贴图中的位置,所述缩放信息用于表征该贴图在所述融合贴图中的大小;
基于该顶点在所对应的目标静态实体的贴图中的纹理坐标,以及该贴图的偏移信息和缩放信息,确定该顶点在所述融合贴图中的纹理坐标,得到该顶点对应的目标纹理坐标。
6.根据权利要求5所述的方法,其特征在于,所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体之前,所述方法还包括:
基于缩放因子,对所述融合贴图进行缩小,得到待渲染融合贴图;其中,所述缩放因子为基于所述多个目标静态实体的面积以及所述多个目标静态实体的纹理尺寸所得到;
所述基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,包括:
基于所述融合后的网格数据以及所述待渲染融合贴图,渲染生成关于所述多个目标静态实体的融合实体。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述目标区域的确定方式,包括:
按照轴对齐的方式,对虚拟场景中的初始区域进行划分,针对每次所划分的区域,检测该次所划分的区域是否满足划分停止条件,当检测到满足划分停止条件时,将该次的上一次所划分的区域作为所述目标区域;
其中,所述划分停止条件包括:区域大小小于目标范围的条件。
8.一种实体渲染装置,其特征在于,所述装置包括:
确定模块,用于针对已渲染完成的虚拟场景,确定所述虚拟场景的目标区域中属于同一材质的多个目标静态实体;
第一融合模块,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自的贴图进行融合,得到融合贴图;
第二融合模块,用于基于所述多个目标静态实体之间的位置关系,对所述多个目标静态实体各自对应的网格数据进行融合,得到融合后的网格数据;
第一渲染模块,用于响应于检测到所述目标区域的显示精度低于预定精度阈值,基于所述融合后的网格数据以及所述融合贴图,渲染生成关于所述多个目标静态实体的融合实体,并利用所述融合实体替换所述虚拟场景中显示的所述多个目标静态实体。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的实体渲染方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的实体渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726204.9A CN117710551A (zh) | 2023-12-14 | 2023-12-14 | 一种实体渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726204.9A CN117710551A (zh) | 2023-12-14 | 2023-12-14 | 一种实体渲染方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710551A true CN117710551A (zh) | 2024-03-15 |
Family
ID=90143862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311726204.9A Pending CN117710551A (zh) | 2023-12-14 | 2023-12-14 | 一种实体渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117710551A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118229822A (zh) * | 2024-05-22 | 2024-06-21 | 广州中望龙腾软件股份有限公司 | 一种基于显存池的实体合并绘制方法 |
-
2023
- 2023-12-14 CN CN202311726204.9A patent/CN117710551A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118229822A (zh) * | 2024-05-22 | 2024-06-21 | 广州中望龙腾软件股份有限公司 | 一种基于显存池的实体合并绘制方法 |
CN118229822B (zh) * | 2024-05-22 | 2024-08-13 | 广州中望龙腾软件股份有限公司 | 一种基于显存池的实体合并绘制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990516B (zh) | 地图数据的处理方法、装置和服务器 | |
CN113900797B (zh) | 基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备 | |
CN110717005B (zh) | 一种热力图纹理的生成方法、装置及设备 | |
US9299182B2 (en) | Divided-area-based rendering device and divided-area-based rendering method | |
CN117710551A (zh) | 一种实体渲染方法、装置、电子设备及存储介质 | |
US9530241B2 (en) | Clipping of graphics primitives | |
KR101953133B1 (ko) | 렌더링 장치 및 그 방법 | |
US8941660B2 (en) | Image generating apparatus, image generating method, and image generating integrated circuit | |
US20050068319A1 (en) | 3D graphics rendering engine for processing an invisible fragment and a method therefor | |
CN115760940A (zh) | 物体纹理处理方法、装置、设备及存储介质 | |
CN117557740B (zh) | 三维模型分割层级切换方法、装置、电子设备及存储介质 | |
CN108280135B (zh) | 实现数据结构可视化的方法、装置和电子设备 | |
CN114119834A (zh) | 渲染方法、装置、电子设备及可读存储介质 | |
CN108280887B (zh) | 一种阴影图确定方法及装置 | |
CN114119831A (zh) | 积雪模型的渲染方法、装置、电子设备及可读介质 | |
CN114494623A (zh) | 基于lod的地形渲染方法及装置 | |
CN108664284B (zh) | 基于多细节层次技术进行场景显示的方法及存储介质 | |
CN116188552B (zh) | 基于区域的深度测试方法、装置、设备及存储介质 | |
CN112489101B (zh) | 基于球谐函数的场景信息的表达方法、装置、设备和介质 | |
CN116310227B (zh) | 三维稠密重建方法、装置、电子设备及介质 | |
CN112446959B (zh) | 一种倾斜摄影模型优化方法 | |
CN118628640A (zh) | 一种阴影渲染方法、装置、电子设备及存储介质 | |
CN110648385B (zh) | 三角面拣选方法、装置、电子设备及计算机可读介质 | |
CN116188633B (zh) | 一种仿真遥感影像生成的方法、装置、介质及电子设备 | |
WO2023236645A1 (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 |