一种3D模型的渲染方法、装置、设备及存储介质与流程

文档序号:24130899发布日期:2021-03-02 17:51阅读:96来源:国知局
一种3D模型的渲染方法、装置、设备及存储介质与流程
一种3d模型的渲染方法、装置、设备及存储介质
技术领域
[0001]
本申请涉及图像渲染技术领域,特别涉及一种3d模型的渲染方法、装置、电子设备及计算机可读存储介质。


背景技术:

[0002]
3d模型被广泛应用于工业设计、游戏等领域中。现有技术中,如果3d模型每次渲染时都要执行对所有顶点数据的变换运算,则需要占用消耗大量的计算资源,就无法做到在保证较高帧率的条件下显示更多的场景细节。因此,相关技术中通常利用多个不同层次即不同精细程度的lod模型文件进行不同画面场景下的图像渲染。一个lod模型文件经渲染后被展示到显示画面中,可为用户呈现直观生动的立体图像展示效果。lod模型文件的复杂程度,直接关联到渲染过程中的计算量。鉴于此,如何生成多个不同层次的lod模型文件并进行渲染,提高的3d模型的渲染效率,已经是本领域技术人员所亟需关注的。


技术实现要素:

[0003]
本申请的目的在于提供一种3d模型的渲染方法、装置、电子设备及计算机可读存储介质,以便有效提高3d图像的渲染显示速率,进而提升画面的流畅度和连贯性,极大地改善用户体验。
[0004]
为解决上述技术问题,第一方面,本申请公开了一种3d模型的渲染方法,包括:
[0005]
获取3d模型的初始模型,计算所述初始模型的可见面数初始值;
[0006]
根据所述可见面数初始值,对所述初始模型进行不同数量的方块提取,以生成多个方块集合;
[0007]
计算所述多个方块集合的可见面数;
[0008]
根据所述可见面数初始值和所述多个方块集合的可见面数,分别生成不同层次的多个lod模型文件,不同的所述lod模型文件对应不同的lod距离范围;
[0009]
计算所述3d模型在当前图像显示画面中的实际距离;
[0010]
根据所述实际距离以确定目标lod模型文件,所述实际距离在所述目标lod模型文件对应的lod距离范围内;
[0011]
调用所述目标lod模型文件在当前图像显示画面中进行渲染。
[0012]
可选地,所述lod模型文件的总个数与所述可见面数初始值正相关;所述不同的层次分别对应于不同的可见面数范围,各所述层次对应的可见面数范围相互无交叠,并且对所述可见面数初始值以下的区间全覆盖。
[0013]
可选地,对于每个目标层次,对应的方块集合的生成过程包括如下步骤:
[0014]
对所述初始模型进行方块提取以生成当前方块集合;
[0015]
计算所述当前方块集合的可见面数;
[0016]
判断所述可见面数是否在所述目标层次的可见面数范围之内;
[0017]
若是,则判定所述当前方块集合与所述目标层次对应;
[0018]
若否,则调整方块提取数量以更新生成当前方块集合,并执行所述计算所述当前方块集合的可见面数及其后续步骤。
[0019]
可选地,所述对所述初始模型进行不同数量的方块提取,包括:
[0020]
确定所述初始模型的轴对齐包围盒的中心点;
[0021]
以所述中心点为中心,在由所述中心点至所述轴对齐包围盒边缘的各方向上间隔均匀地进行方块提取。
[0022]
可选地,所述对所述初始模型进行不同数量的方块提取,包括:
[0023]
确定所述初始模型的轴对齐包围盒的中心点;
[0024]
以所述中心点为中心,在由所述中心点至所述轴对齐包围盒边缘的各方向上,按照预设百分比截取各个方块的部分结构。
[0025]
可选地,在所述在由所述中心点至模型边缘的各方向上,按照预设百分比截取各个方块的部分结构之后,还包括:
[0026]
在截取分界处进行图像数据的边缘柔和处理。
[0027]
可选地,所述根据所述实际距离确定目标lod模型文件,包括:
[0028]
将各个所述lod模型文件按照lod距离范围从小到大的顺序进行排列;
[0029]
依次判断所述实际距离是否在各个所述lod模型文件的lod距离范围内;
[0030]
若所述实际距离在当前lod模型文件的lod距离范围内,则将所述当前lod模型文件确定为所述目标lod模型文件。
[0031]
第二方面,本申请还公开了一种3d模型的渲染装置,包括:
[0032]
计算模块,用于获取3d模型的初始模型,计算所述初始模型的可见面数初始值;
[0033]
提取模块,用于根据所述可见面数初始值,对所述初始模型进行不同数量的方块提取,以生成多个方块集合,并计算所述多个方块集合的可见面数;
[0034]
生成模块,用于根据所述可见面数初始值和所述多个方块集合的可见面数,分别生成不同层次的多个lod模型文件,不同的所述lod模型文件对应不同的lod距离范围;
[0035]
渲染模块,用于计算所述3d模型在当前图像显示画面中的实际距离,根据所述实际距离确定目标lod模型文件,所述实际距离在所述目标lod模型文件对应的lod距离范围内,调用所述目标lod模型文件在当前图像显示画面中进行渲染。
[0036]
可选地,所述lod模型文件的总个数与所述可见面数初始值正相关;所述不同的层次分别对应于不同的可见面数范围,各所述层次对应的可见面数范围相互无交叠,并且对所述可见面数初始值以下的区间全覆盖。
[0037]
可选地,对于每个目标层次,所述提取模块具体用于:
[0038]
对所述初始模型进行方块提取以生成当前方块集合;计算所述当前方块集合的可见面数;判断所述可见面数是否在所述目标层次的可见面数范围之内;若是,则判定所述当前方块集合与所述目标层次对应;若否,则调整方块提取数量以更新生成当前方块集合,直至更新后的当前方块集合的可见面数在所述目标层次的可见面数范围之内。
[0039]
可选地,所述提取模块具体用于:
[0040]
确定所述初始模型的轴对齐包围盒的中心点;以所述中心点为中心,在由所述中心点至所述轴对齐包围盒边缘的各方向上间隔均匀地进行方块提取。
[0041]
可选地,所述提取模块具体用于:
[0042]
确定所述初始模型的轴对齐包围盒的中心点;以所述中心点为中心,在由所述中心点至所述轴对齐包围盒边缘的各方向上,按照预设百分比截取各个方块的部分结构。
[0043]
可选地,所述提取模块还用于:
[0044]
在所述在由所述中心点至模型边缘的各方向上,按照预设百分比截取各个方块的部分结构之后,在截取分界处进行图像数据的边缘柔和处理。
[0045]
可选地,所述渲染模块在根据所述实际距离确定目标lod模型文件时具体用于:
[0046]
将各个所述lod模型文件按照lod距离范围从小到大的顺序进行排列;依次判断所述实际距离是否在各个所述lod模型文件的lod距离范围内;若所述实际距离在当前lod模型文件的lod距离范围内,则将所述当前lod模型文件确定为所述目标lod模型文件。
[0047]
第三方面,本申请还公开了一种电子设备,包括:
[0048]
存储器,用于存储计算机程序;
[0049]
处理器,用于执行所述计算机程序以实现如上所述的任一种3d模型的渲染方法的步骤。
[0050]
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种3d模型的渲染方法的步骤。
[0051]
本申请所提供的3d模型的渲染方法包括:获取3d模型的初始模型;计算所述初始模型的可见面数初始值;根据所述可见面数初始值,对所述初始模型进行不同数量的方块提取,以生成多个方块集合;计算所述多个方块集合的可见面数;根据所述可见面数初始值和所述多个方块集合的可见面数,分别生成不同层次的多个lod模型文件,所述多个lod模型文件对应不同的lod距离范围;计算所述3d模型在当前图像显示画面中的实际距离;根据所述实际距离以确定目标lod模型文件,所述实际距离在所述目标lod模型文件对应的lod距离范围内;调用所述目标lod模型文件在当前图像显示画面中进行渲染。
[0052]
本申请所提供的3d模型的渲染方法、装置、电子设备及计算机可读存储介质所具有的有益效果是:本申请以初始模型的可见面数初始值为依据,在初始模型的基础上多次进行不同数量的方块提取,快速有效地生成了不同层次的lod模型文件,以便从中确定目标lod模型文件进行实时渲染显示。由于本申请无需重复进行计算量大、过程复杂的建模操作,因此可有效提高lod模型文件的生成速率和质量,进而提高3d图像画面的渲染显示速率,改善画面的流畅度和连贯性,极大地提高了用户体验。
附图说明
[0053]
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
[0054]
图1为本申请实施例公开的一种3d模型的渲染方法的流程图;
[0055]
图2为本申请实施例公开的一种生成方块集合的方法流程图;
[0056]
图3为本申请实施例公开的一种3d模型的渲染装置的结构框图;
[0057]
图4为本申请实施例公开的一种电子设备的结构框图。
具体实施方式
[0058]
本申请的核心在于提供一种3d模型的渲染方法、装置、电子设备及计算机可读存储介质,以便有效提高3d图像画面的渲染显示速率,进而提升画面的流畅度和连贯性,极大地改善用户体验。
[0059]
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0060]
参见图1所示,本申请实施例公开了一种3d模型的渲染方法,主要包括:
[0061]
s101:获取3d模型的初始模型,计算初始模型的可见面数初始值。
[0062]
其中,3d模型的对象具体可以为动物、房子、人物等。一般地,一个3d模型的初始模型为用户在3d建模软件中通过数据建模,由多个方块构成的方块模型。其中,方块是3d模型的最小构成单位,一般为由六个正方形面构成的立方体,每个正方形面由两个三角形组成。
[0063]
基于建模功能,初始模型可基于目标体的3d建模数据进行立体建模而生成。根据目标体的3d建模数据,可确定目标体所包含的各个立方体。根据这些立方体的顶点数据,即目标体的顶点数据,即可生成目标体的初始模型。
[0064]
一个3d模型是由许多个方块构成的,因而也具有许多个面,从用户可见性来区分可以划分为可见面与不可见面。在对3d模型进行渲染显示时,主要是对可见面进行相关处理,因此,一个3d模型的可见面的面数将影响渲染后的图像的清晰度、可辨识度。由此,本申请首先计算初始模型的可见面数初始值,并以此为依据,来确定后续需要生成多少个不同层次的lod(levels of detail,多细节层次)模型文件。
[0065]
其中,模型可见面数的计算,包括查找共面的方块、合并相邻方块间的共用面、剔除被多个方块包围的不可见面等过程。
[0066]
容易理解的是,在对同一个目标体建模时,顶点数据越多,可见面的总面数越多,对应生成的lod模型文件的画面细节越多、图像越清晰,相应地,数据计算量也越大,处理过程也越复杂;相反,顶点数据越少,生成的lod模型文件的画面细节越少、图像清晰度越差,而数据计算量也越简单。
[0067]
由此,对于一个3d模型来说,其初始模型是包含了该目标体最为详尽的顶点数据的模型,即含了初始构成该目标体的每个方块的顶点数据,可见面的总面数最多。
[0068]
因此,与该可见面数初始值对应的层次即为该目标体所能得到的最高层次;而在该最高的层次以下,还可以获取其他多个不同层次的lod模型文件。同时,可见面数初始值不仅决定了该目标体的最高层次,也决定了渲染数据量的最大复杂程度。由此,本领域技术人员可根据实际应用情况和具体需求,而自行设置生成多少个不同层次的lod模型文件,以及各个lod模型文件的层次。
[0069]
s102:根据可见面数初始值,对初始模型多次进行不同数量的方块提取,以生成多个方块集合。
[0070]
需要指出的是,本申请具体采用在初始模型的基础上进行方块提取的方式,通过
调整方块提取的数量来改变顶点数据量、可见面数,从而生成其他多个不同层次的lod模型文件,而非通过计算量较大的重复建模过程来重新生成多个模型文件。由此,本申请可以方便快速地生成多个lod模型文件,进而提高lod模型文件的渲染效率和提升画面流畅度。
[0071]
s103:计算多个方块集合的可见面数。
[0072]
s104:根据可见面数初始值和多个方块集合的可见面数,分别生成不同层次的多个lod模型文件。其中,不同的lod模型文件对应不同的lod距离范围。
[0073]
在得到对应不同细节清晰层次的方块集合之后,即可分别生成对应层次的lod模型文件。根据所提取的方块的数量多少,这些被新提取生成的方块集合将在不同程度上丢失部分原有的细节信息,实现不同程度的细节模糊化,令对应的lod模型文件的清晰度被不同程度地降低。
[0074]
例如,在初始模型的基础上,若提取了50%的方块,则新的方块集合的顶点数据将变为原初始模型顶点数据的一半,基于该方块集合将得到清晰度稍低的lod模型文件。若提取了25%的方块,则新的方块集合的顶点数据将变为原初始模型顶点数据的四分之一,将得到清晰度更低的lod模型文件。
[0075]
s105:计算3d模型在当前图像显示画面中的实际距离,根据实际距离确定目标lod模型文件,实际距离在目标lod模型文件对应的lod距离范围内。
[0076]
在基于前述步骤得到多个不同层次的lod模型文件之后,即可根据画面显示的实时需要,从多个不同层次的lod模型文件中确定出目标lod模型文件,以便在图像画面中进行渲染和显示。
[0077]
具体地,每个层次的lod模型文件均有其对应的lod距离范围。为了选择最为匹配的lod模型文件,本申请具体计算了3d模型在当前图像显示画面中的实际距离,将该实际距离分别与各个层次lod模型文件的lod距离范围进行比对,从而可将与该实际距离匹配的lod距离范围所对应的lod模型文件确定为目标lod模型文件。也就是说,该实际距离取值在哪个lod距离范围的区间内,便将哪个lod距离范围所对应的lod模型文件确定为目标lod模型文件。
[0078]
举例说明,假设基于步骤s104生成了四个不同层次的lod模型文件:lod1、lod2、lod3、lod4;对应的lod距离范围依次分别是0-5m、5m-10m、10m-30m、30m-100m。由此,若计算得到3d模型在当前图像显示画面中的实际距离为3.5m,由于3.5取值在[0,5]区间之间,因此应当选择lod1作为目标lod模型文件;类似地,若实际距离为6.2m,则应当选择lod2作为目标lod模型文件;若实际距离为22.9m,则应当选择lod3作为目标lod模型文件;若实际距离为74m,则应当选择lod4作为目标lod模型文件。
[0079]
s106:调用目标lod模型文件在当前图像显示画面中进行渲染。
[0080]
可见,本申请所提供的3d模型的渲染方法,依据可见面的总面数初始值为lod模型文件设置了不同的层次,在初始模型的基础上多次进行不同数量的方块提取,快速有效地生成了不同层次的lod模型文件,以便从中确定目标lod模型文件进行实时渲染显示。由于本申请无需重复进行计算量大、过程复杂的建模操作,因此可有效提高lod模型文件的生成速率和质量,进而提高3d图像画面的渲染显示速率,改善画面的流畅度和连贯性,极大地提高了用户体验。
[0081]
作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基
础上,lod模型文件的总个数与可见面数初始值正相关;不同的层次分别对应于不同的可见面数范围,各层次对应的可见面数范围相互无交叠,并且对可见面数初始值以下的区间全覆盖。
[0082]
具体地,本实施例中,初始模型的可见面数初始值越大,所得到的lod模型文件的总个数越多。但是对于总面数特别大的3d模型,为了节省计算量,并不需要得到越多的层次模型,所以在一些实施例中,可以设置阈值,在不同的阈值范围内确定不同个数的lod模型文件。
[0083]
例如,设置第一阈值为4000,第二阈值为2000,第三阈值为500;当可见面数初始值不小于4000时,可得到4个不同的lod模型文件;当可见面数初始值小于4000而不小于2000时,可得到3个不同的lod模型文件;当可见面数初始值小于2000而不小于500时,可得到2个不同的lod模型文件;当可见面数初始值小于500时,可得到1个lod模型文件。
[0084]
并且,不同层次的可见面数范围无交叉区间,并且对可见面数初始值以下(正数)的区间全覆盖。例如,当可见面数初始值不小于4000时,例如为5000时,对应得到4个不同的lod模型文件,则各个层次的lod模型文件可见面数范围从低到高可依次被设置为:
[0085]
(0,500]、(500,2000]、(2000,4000],(4000,5000]。
[0086]
其中,如上所示的4个可见面数范围,不仅相互之间不存在交叉区间,并且将可见面数初始值以下的正数区间范围内全覆盖。
[0087]
容易理解的是,当总面数初始值为不小于4000时,例如为4500时,该初始模型自身对应于(4000,5000]的层次,因此还需要通过方块提取生成另外三个较低层次的方块集合。
[0088]
再例如,当可见面数初始值为小于4000而不小于2000时,例如为2500时,对应得到3个不同的lod模型文件,则各个层次的的lod模型文件可见面数范围从低到高可依次被设置为:
[0089]
(0,500]、(500,2000]、(2000,2500]。
[0090]
容易理解的是,当总面数初始值为2500时,该初始模型自身对应于(2000,2500]的层次,因此还需要通过方块提取生成另外二个较低层次的方块集合。
[0091]
当可见面数初始值小于2000而不小于500时,例如为1000时,可得到2个不同的lod模型文件,则各个层次的的lod模型文件可见面数范围从低到高可依次被设置为:
[0092]
(0,500]、(500,1000]。
[0093]
容易理解的是,当总面数初始值为1000,该初始模型自身对应于(500,1000]的层次,则还需要通过方块提取生成另外一个较低层次的方块集合。
[0094]
当可见面数初始值小于500时,例如为300时,则只得到1个lod模型文件,不需要再进行方块提取。
[0095]
以上阈值的设定可以根据需要任意设置,此处不做限定。
[0096]
参见图2,图2为本申请实施例公开的一种生成方块集合的方法流程图。
[0097]
如图2所示,作为一种具体实施例,对于每个目标层次,对应的方块集合的生成过程包括如下步骤:
[0098]
s201:对初始模型进行方块提取以生成当前方块集合。
[0099]
s202:计算当前方块集合的可见面数。
[0100]
s203:判断可见面数是否在目标层次的可见面数范围之内;若是,则进入s204;若
否,则进入s205。
[0101]
s204:判定当前方块集合与目标层次对应。
[0102]
s205:调整方块提取数量以更新生成当前方块集合,并返回至s202。
[0103]
具体地,不同层次对应不同的可见面数范围,因此,在进行方块提取以生成对应层次的方块集合时,可能需要多次试验更改方块提取的数量,以便令得到的方块集合的可见面数恰好处于对应层次的可见面数范围之内。
[0104]
作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基础上,对初始模型进行不同数量的方块提取,包括:
[0105]
确定初始模型的轴对齐包围盒的中心点;
[0106]
以中心点为中心,在由中心点至轴对齐包围盒边缘的各方向上间隔均匀地进行方块提取。
[0107]
具体地,本领域技术人员容易理解的是,轴对齐包围盒是在建模过程中包含给定模型所有顶点的最小边界框。一般地,轴对齐包围盒是一个简单的六面体,并且每一边都平行于一个坐标平面。
[0108]
在方块提取过程中,当提取的方块数量一定的情况下,具体选择哪些方块提取就决定了提取后的模型文件对初始模型的可还原度,进而影响图像质量。因此,为了尽可能地充分保留下带有原目标体大体图像特征的方块,本实施例具体以轴对齐包围盒的中心点为中心进行方块提取。
[0109]
具体地,本实施例在进行方块提取时,具体是进行均匀提取的。所谓均匀,即在初始模型所包含的所有方块中,均匀地按比例提取方块,以使所提取的方块均匀地分布在初始模型的各部位,保障最大程度地保留初始模型的特征。例如,若要提取50%的方块,则在每2个相邻的方块中提取1个方块;若要提取25%的方块,则在每4个相邻的方块中提取1个方块。
[0110]
作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基础上,对初始模型进行不同数量的方块提取,包括:
[0111]
确定初始模型的轴对齐包围盒的中心点;
[0112]
以中心点为中心,在由中心点至模型边缘的各方向上,按照预设百分比截取各个方块的部分结构。
[0113]
具体地,本实施例在进行方块提取时,具体采取的是对每个方块都进行截取的方式。例如,若要提取50%的方块,则可将每个方块均截取保留其50%的结构;若要提取25%的方块,则可将每个方块均截取保留其205%的结构。
[0114]
作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基础上,当在由中心点至模型边缘的各方向上,按照预设百分比截取各个方块的部分结构之后,还包括:
[0115]
在截取分界处进行图像数据的边缘柔和处理。
[0116]
进一步地,在截取方块之后,可进一步进行边缘柔和处理,以便提高图像质量。
[0117]
作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基础上,在分别生成不同层次的多个lod模型文件之后,还包括:
[0118]
生成各lod模型文件的数据文件;数据文件中记录有对应的lod模型文件的lod距
离范围。
[0119]
具体地,本领域技术人员容易理解的是,lod技术是一种有效的图形生成加速方法,lod距离是lod技术中的一个技术参数,指的是在空间视觉层面上画面中的目标体与采集到当前画面的(假想)摄像机之间的距离。容易理解的是,lod距离越小,对应画面的层次应当越丰富,否则反之。
[0120]
具体地,由于在画面显示过程中,特别是动态画面显示过程中,往往是多个不同层次的lod模型文件切换调用,因此,为便于选择合适的模型文件进行调用,本实施例在生成各个不同层次的lod模型文件之后,将其对应的lod距离范围记录在其数据文件中。
[0121]
其中,进一步地,数据文件可具体采用xml(extensible markup language,可扩展标记语言)文件形式来记录lod距离范围。作为一种具体实施例,本申请实施例所提供的3d模型的渲染方法在上述内容的基础上,根据实际距离确定目标lod模型文件,包括:
[0122]
将各个lod模型文件按照lod距离范围从小到大的顺序进行排列;
[0123]
依次判断实际距离是否在各个lod模型文件的lod距离范围内;
[0124]
若实际距离在当前lod模型文件的lod距离范围内,则将当前lod模型文件确定为目标lod模型文件。
[0125]
具体地,如前所述,目标lod模型文件是lod距离范围与3d模型的实际距离相适配的一个lod模型文件。在将各个lod模型文件的lod距离范围与3d模型的实际距离进行比对时,本实施例具体为各个lod模型文件确定了一个排列顺序,以便按照该次序依次判断实际距离是否取值在当前lod模型文件的lod距离范围内。
[0126]
其中,本实施例具体是按照lod距离范围从小到大的顺序来排序,当然,类似地,本领域技术人员也可以选择按照lod距离范围从大到小的顺序。
[0127]
参见图3所示,本申请实施例公开了一种3d模型的渲染装置,主要包括:
[0128]
计算模块301,用于获取3d模型的初始模型,计算初始模型的可见面数初始值;
[0129]
提取模块302,用于根据可见面数初始值,对初始模型进行不同数量的方块提取,以生成多个方块集合,并计算各个方块集合的可见面数;
[0130]
生成模块303,用于根据可见面数初始值和各个方块集合的可见面数,分别生成不同层次的多个lod模型文件;不同的lod模型文件对应不同的lod距离范围;
[0131]
渲染模块304,用于计算3d模型在当前图像显示画面中的实际距离,根据实际距离确定目标lod模型文件,实际距离在目标lod模型文件对应的lod距离范围内,调用目标lod模型文件在当前图像显示画面中进行渲染。
[0132]
可见,本申请所提供的3d模型的渲染装置,以初始模型的可见面数初始值为依据,在初始模型的基础上多次进行不同数量的方块提取,快速有效地生成了不同层次的lod模型文件,以便从中确定目标lod模型文件进行实时渲染显示。由于本申请无需重复进行计算量大、过程复杂的建模操作,因此可有效提高lod模型文件的生成速率和质量,进而提高3d图像画面的渲染显示速率,改善画面的流畅度和连贯性,极大地提高了用户体验。
[0133]
关于上述lod模型文件的渲染装置的具体内容,可参考前述关于3d模型的渲染方法的详细介绍,这里就不再赘述。
[0134]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,lod模型文件的总个数与可见面数初始值正相关;不同的层次分别对应于不同的可见
面数范围,各层次对应的可见面数范围相互无交叠,并且对可见面数初始值以下的区间全覆盖。
[0135]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,对于每个目标层次,提取模块302具体用于:
[0136]
对初始模型进行方块提取以生成当前方块集合;计算当前方块集合的可见面数;判断可见面数是否在目标层次的可见面数范围之内;若是,则判定当前方块集合与目标层次对应;若否,则调整方块提取数量以更新生成当前方块集合,直至更新后的当前方块集合的可见面数在所述目标层次的可见面数范围之内。
[0137]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,提取模块302具体用于:
[0138]
确定初始模型的轴对齐包围盒的中心点;以中心点为中心,在由中心点至轴对齐包围盒边缘的各方向上间隔均匀地进行方块提取。
[0139]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,提取模块302具体用于:
[0140]
确定所述初始模型的轴对齐包围盒的中心点;以中心点为中心,在由中心点至轴对齐包围盒边缘的各方向上,按照预设百分比截取各个方块的部分结构。
[0141]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,提取模块302还用于:
[0142]
在按照预设百分比截取各个方块的部分结构之后,在截取分界处进行图像数据的边缘柔和处理。
[0143]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,渲染模块304在根据所述实际距离确定目标lod模型文件时具体用于:
[0144]
将各个所述lod模型文件按照lod距离范围从小到大的顺序进行排列;依次判断所述实际距离是否在各个所述lod模型文件的lod距离范围内;若所述实际距离在当前lod模型文件的lod距离范围内,则将所述当前lod模型文件确定为所述目标lod模型文件。
[0145]
作为一种具体实施例,本申请实施例所公开的3d模型的渲染装置在上述内容的基础上,生成模块303还用于:
[0146]
在分别生成不同层次的lod模型文件之后,生成各lod模型文件的数据文件;数据文件中记录有对应的lod模型文件的lod距离范围。
[0147]
参见图4所示,本申请实施例公开了一种电子设备,包括:
[0148]
存储器401,用于存储计算机程序;
[0149]
处理器402,用于执行所述计算机程序以实现如上所述的任一种3d模型的渲染方法的步骤。
[0150]
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种3d模型的渲染方法的步骤。
[0151]
关于上述电子设备和计算机可读存储介质的具体内容,可参考前述关于3d模型的渲染方法的详细介绍,这里就不再赘述。
[0152]
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实
施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0153]
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0154]
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1