静态合并处理方法和装置与流程

文档序号:11953662阅读:321来源:国知局
静态合并处理方法和装置与流程

本发明涉及图像处理领域,具体而言,涉及一种静态合并处理方法和装置。



背景技术:

虚拟现实(Virtual Reality,简称为VR),是由美国VPL公司创建人拉尼尔(Jaron Lanier)在20世纪80年代初提出的。其具体内涵是:综合利用计算机图形系统和各种现实及控制等接口设备,在计算机上生成的、可交互的三维环境中提供沉浸感觉的技术。其中,计算机生成的、可交互的三维环境称为虚拟环境(即Virtual Environment,简称VE)。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统的技术。它利用计算机生成一种模拟环境,利用多源信息融合的交互式三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

因为VR要模拟现实中的感觉,因此延迟就成了一个很大的问题。这里的延迟是指,当你转动头部之后,屏幕上物理更新图像相对于你本应看到的图像之间的画面延时。AMD的首席游戏科学家Richard Huddy认为,11毫秒或是更低的延迟对于互动性游戏来说是必需的,个别情况下20毫秒的延迟在一个360度的虚拟现实电影中移动也还可以接受。需要说明的是,延迟并非是作为一个硬件在性能方面的指标,而仅仅是硬件能否实现虚拟现实这种效果的一条基准线。

一般来说,一款PC/移动设备的帧率只需保持在30帧/秒以上,即可满足玩家流畅游戏的需求。但对于沉浸式VR体验来说,30帧/秒是远远不够的。在此,需要先来解释一下延迟度这个概念。所谓“延迟度”,是指从头戴式设备的传感器将方位信息传入PC/移动设备开始,,经过PC/移动设备的计算渲染最后传回到显示屏进行显示的时间间隔。所以,用户眼睛真正看到的实际上是几十毫米之前的场景。

如果延迟度过长,则用户实际看到的渲染场景是“一顿一顿”进行显示的,进而增加了VR体验的不适感,甚至让人感到眩晕。一般来说,延迟度需要小于20ms且越小越好,这样才能保证较好的VR体验。如果想要延迟度小于20ms,则必须要保证帧率至少达到60帧/秒,甚至90帧/秒以上。而这种性能要求,即便是对于目前的主流手机来说来说,都是非常的苛刻了。

现有的游戏引擎一般会对场景中的模型会进行Static Batching,在引擎中被标记为Static的物体会在运行的时候,自动合并成一个物体,这样可以降低运行时的DC。但是,Static Batching对物体的合并是基于物体在场景中渲染的先后顺序,故合并具有很大随机性,对普通游戏优化的效果一般。但对于VR游戏,不但没有效果,有时还会抵消视锥剔除的优化,是性能变得更差。这是因为VR应用的具有高自由度的视角,随机合并的两个物体可能分别出现在用户视角的前方和后方,本来在视锥剔除的情况下后方的物体不再被GPU渲染了。但在Static Batching后,前后两个物体变成了一个物体,这时后面的物体无法被视锥剔除,使得GPU的负担更加重了。同时每次合并的的几何体数量无法控制,无法使得GPU的性能被平均分配到每一次渲染。

现有技术中还有一种方案是在建模工具合并几何体,然后再导入3D引擎中使用。一般称为手动合并。手动合并虽然可以防止抵消视锥剔除和导致较高的几何体数量被渲染,但是需要借助建模工具合并比较耗时。同时需要人工估计用户的角度来判断哪些东西需要合并,会造成合并的不准确。并且无法在3D引擎中动态的修改几何体的合并方式。

通常情况下3D应用的性能瓶颈大部分在渲染上,而场景又占了渲染的很大一部分性能,为了达到VR应用低延迟、高帧率的需求,针对场景的优化在所难免。

针对相关技术中静态合并导致的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种静态合并处理方法和装置,以解决相关技术中场景渲染导致的技术问题。

为了实现上述目的,根据本发明的一个方面,提供了一种静态合并处理方法,该方法包括:根据预先配置的参数,将场景中的空间划分为多个块;在所述多个块中的每一个块内中,对标记为静态的物体模型进行合并,生成新的模型;将所述块中原有的物体模型进行隐藏或删除。

进一步地,所述场景为自由视角场景,根据所述预先配置的参数,将所述场景中的空间划分为所述多个块包括:在所述场景中,以用户的位置为中心,将所述空间模拟为一个立体;根据所述预先配置的参数,将所述立体划分为所述多个块。

进一步地,将所述场景中的空间划分为所述多个块包括:将所述空间根据视锥形划分为多个视锥体,其中,每个所述视锥体作为一个块,所述视锥体用于表示所述用户的可见范围。

进一步地,将所述空间根据视锥形划分为多个所述视锥体包括:根据相机前剪裁平面和所述用户的移动范围确定所述视锥体的前剪裁平面;根据所述视锥体的前剪裁平面和相机后剪裁平面确定所述视锥体。

进一步地,所述用户的移动范围为所述用户的最大可移动距离。

进一步地,将所述立体划分为多个所述块包括:将所述立体的顶部和底部划分为单独的块;将所述立体除所述顶部和所述底部之外的部分划分为多个所述块。

进一步地,所述立体为一个球体,所述球体的半径无限大,所述预先配置的参数,包括以下至少之一:所述球体的半径、开口角度;将所述空间划分为多个所述块包括:将所述空间的坐标转换为球坐标系,根据所述预先配置的参数球坐标系将所述空间划分为多个所述块,得到每个块的球坐标;在所述多个块中的每一个块中内,对标记为静态的物体模型进行合并生成新的模型包括:将所述物体模型的坐标转换为球坐标系,根据所述每一块的球坐标和所述物体模型的球坐标判断所述物体模型是否位于一个块中,并对位于所述一个块中的标记为静态的物体模型进行合并。

进一步地,根据所述每一块的球坐标和所述物体模型的球坐标判断所述物体模型是否位于一个块中,并对位于所述一个块中的标记为静态的物体模型进行合并,包括:判断步骤,根据所述每一块的球坐标和所述物体模型的球坐标判断所述物体是否位于一个块中,如果是,则将所述物体模型放入所述一个块的合并队列;循环步骤,重复执行所述判断步骤,遍历所述场景中的所有物体模型;合并步骤,根据不同的类型将所述合并队列里的物体模型拆分后,进行分类合并,所述类型包括以下至少之一:贴图、材质、材质相关参数、网格、网格相关参数。

进一步地,将所述块中原有的物体模型进行隐藏或删除包括:判断所述场景的展示效果是否达到预设条件;如果所述场景的展示效果没有到达所述预设条件,则对所述原有的物体模型进行隐藏;如果所述场景的展示效果到达所述预设条件,则对所述原有的物体模型进行删除。

为了实现上述目的,根据本发明的另一方面,还提供了一种静态合并处理装置,该装置包括:划分单元,用于根据预先配置的参数,将场景中的空间划分为多个块;合并单元,用于在所述多个块中的每一个块内中,对标记为静态的物体模型进行合并,生成新的模型;隐藏单元,用于将所述块中原有的物体模型进行隐藏或删除。

进一步地,所述场景为自由视角场景,所述划分单元包括:模拟模块,用于在所述场景中,以用户的位置为中心,将所述空间模拟为一个立体;划分模块,用于根据所述预先配置的参数,将所述立体划分为所述多个块。

进一步地,所述划分模块用于:将所述空间根据视锥形划分为多个视锥体,其中,每个所述视锥体作为一个块,所述视锥体用于表示所述用户的可见范围。

进一步地,所述划分模块用于:根据相机前剪裁平面和所述用户的移动范围确定所述视锥体的前剪裁平面;根据所述视锥体的前剪裁平面和相机后剪裁平面确定所述视锥体。

进一步地,所述用户的移动范围为所述用户的最大可移动距离。

进一步地,所述划分模块用于:将所述立体的顶部和底部划分为单独的块;将所述立体除所述顶部和所述底部之外的部分划分为多个所述块。

进一步地,所述立体为一个球体,所述球体的半径无限大,所述预先配置的参数包括以下至少之一:所述球体的半径、开口角度,所述划分单元用于:将所述空间的坐标转换为球坐标系,根据所述预先配置的参数球坐标系将所述空间划分为多个所述块,得到每个块的球坐标;所述合并单元用于:将所述物体模型的坐标转换为球坐标系,根据所述每一块的球坐标和所述物体模型的球坐标判断所述物体模型是否位于一个块中,并对位于所述一个块中的标记为静态的物体模型进行合并。

进一步地,所述合并单元包括:第一判断模块,用于执行判断步骤,根据所述每一块的球坐标和所述物体模型的球坐标判断所述物体模型是否位于一个块中,如果是,则将所述物体模型放入所述一个块的合并队列;循环模块,用于重复执行所述判断步骤,遍历所述场景中的所有物体模型;合并模块,用于根据不同的类型将所述合并队列里的物体模型拆分后,进行分类合并,所述类型包括以下至少之一:贴图、材质、材质相关参数、网格、网格相关参数。

进一步地,所述隐藏单元包括:第二判断模块,用于判断所述场景的展示效果是否达到预设条件;隐藏模块,用于在所述场景的展示效果没有到达所述预设条件时,对所述原有的物体模型进行隐藏;删除模块,用于在所述场景的展示效果到达所述预设条件时,对所述原有的物体模型进行删除。

本发明通过根据预先配置的参数将场景中的空间划分为多个块,在每一个块内,对标记为静态的物体进行合并生成新的模型;将所述块中原有的物体模型进行隐藏或删除,解决了相关技术中静态合并导致的技术问题,进而达到了降低场景渲染的计算量的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种静态合并处理方法的流程图;

图2是根据本发明实施例的另一种静态合并处理方法的流程图;

图3是根据本发明实施例的视锥体示意图;

图4a是根据本发明实施例的空间视锥体的示意图;

图4b是根据本发明实施例的另一种空间视锥体的示意图;

图5是根据本发明实施例的另一种静态合并处理方法的流程图;以及

图6是根据本发明实施例的静态合并处理装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种静态合并处理方法,图1是根据本发明实施例的一种静态合并处理方法的流程图,如图1所示,该方法包括以下步骤:

步骤S102,根据预先配置的参数,将场景中的空间划分为多个块。

步骤S104,在多个块中的每一个块内,对标记为静态的物体模型进行合并,生成新的模型。

步骤S106,将块中原有的物体模型进行隐藏或删除。

该实施例通过根据预先配置的参数将场景中的空间划分为多个块,对于每一个块,有标记为静态的物体,也可能有标记为动态的物体,将标记为静态的物体模型进行合并,生成新的模型,将原有的物体模型隐藏或删除。由于是按照块来进行静态物体的合并,与现有技术中的合并方式不同,因此解决了相关技术中静态合并导致的技术问题,能够降低场景渲染的计算量,能够减轻电脑的图形处理器(Graphics Processing Unit,简称为GPU)的负担,提高场景优化效果,减少了在渲染场景时延迟度大导致的显示卡顿等问题,能够满足一些应用,例如虚拟现实(Virtual Reality,简称为VR)应用的低延迟、高帧率的要求。

在一个可选的实施方式中,以自由视角场景为例,将场景中的空间划分为多个块可以通过以下方式:在场景中,以用户的位置为中心,将空间模拟为一个立体,然后根据预先配置的参数,将立体划分为多个块。由于VR应用具有高自由度的视角,在自由视角场景中,将场景中的空间划分为多个块可以是以用户的位置为中心,将空间模拟成一个立体,其中,立体可以是球体,也可以是其他形状的立体,在将空间模拟为一个立体之后将场景中的空间划分为多个块。

在一个可选的实施方式中,将场景中的空间划分为多个块可以是:将空间根据视锥形划分为多个视锥体,其中,每个视锥体作为一个块,视锥体可以用于表示用户的可见范围。多个视锥体无缝拼接能够构成立体空间,视锥体是场景中的可见的一个锥体范围,视锥体可以由上、下、左、右、近、远共六个面组成,一般情况下,在视锥体内的景物可见,视锥体外的不可见。

在一个可选的实施方式中,根据相机前剪裁平面和用户的移动范围确定视锥体的前剪裁平面,然后根据视锥体的前剪裁平面和相机后剪裁平面确定视锥体。根据相机前剪裁平面(Front Clipping Plane)和用户的移动范围可以确定视锥体的前剪裁平面,可选地,用户的移动范围可以是用户的最大可移动距离,确定了视锥体的前剪裁平面之后,根据视锥体的前剪裁平面和相机后剪裁平面(Back Clipping Plane)确定视锥体。

在一个可选的实施方式中,将立体划分为多个块可以是:将立体的顶部和底部划分为单独的块;将立体除顶部和底部之外的部分划分为多个块。在将立体划分成多个块时,立体的顶部和底部不进行分割,独立成块。

在一个可选的实施方式中,立体可以为一个球体,球体的半径无限大,预先配置的参数包括球体的半径、开口角度中的至少一个,球体的半径、开口角度等参数直接影响空间的分块数量,对于物体合并来说,起到的是间接影响,空间的分块数量越多,合并体的总数量也会变多,将空间划分为多个块可以通过以下步骤:将空间的坐标转换为球坐标系,根据预先配置的参数将空间划分为多个块,得到每个块的球坐标;在每一个块内,对标记为静态的物体模型进行合并生成新的模型包括:将物体模型的坐标转换为球坐标系,根据每一块的球坐标和物体模型的球坐标判断物体模型是否位于一个块中,并对位于一个块中的标记为静态的物体模型进行合并。

在一个可选的实施方式中,根据每一块的球坐标和物体模型的球坐标判断物体模型是否位于一个块中,并对位于一个块中的标记为静态的物体模型进行合并可以通过以下步骤:判断步骤,根据每一块的球坐标和物体模型的球坐标判断物体模型是否位于一个块中,如果是,则将物体模型放入一个块的合并队列;循环步骤,重复执行上述判断步骤,遍历场景中的所有物体模型;合并步骤,根据不同的类型将合并队列里的物体模型拆分后,进行分类合并,其中,类型包括以下至少之一:贴图、材质、材质相关参数、网格、网格相关参数。

在一个可选的实施方式中,将块中原有的物体模型进行隐藏或删除可以通过以下方式:判断场景的展示效果是否达到预设条件;如果场景的展示效果没有到达预设条件,则对原有的物体模型进行隐藏;如果场景的展示效果到达预设条件,则对原有的物体模型进行删除。预设条件可以是预设的表示场景展示效果的参数达到预设范围,在达到预设条件时,场景的展示效果最好。在删除或者隐藏原有物体的过程中,可以通过修改参数快速地重复合并的工作,从而可以调整到一个最好的优化状态。而在没有达到最终效果之前可以仅仅对原场景中的物体模型进行隐藏,当达到最优化的状态后,就可以对场景的物体模型进行删除了。通过判断场景的展示效果是否达到预设条件,根据判断结果进行场景模型的隐藏或删除,能够进一步提高静态合并的效果,降低场景渲染的计算量。

以用户的位置为中心将空间模拟为一个立体,可以是以用户的位置为中心将空间模拟为一个球体,球体的半径可以无限大,将场景中的空间划分为多个块可以是将空间的坐标转换为球坐标系,将空间划分为多个块,可以得到每个块的球坐标。因此,对于一个块中的被标记为静态的物体模型,将物体模型的坐标转换为球坐标系,根据块的球坐标和物体模型的球坐标判断物体模型是否位于同一个块中,如果判断出物体模型位于同一个块中,则将位于同一个块中的被标记为静态的物体模型合并。因此,本发明实施例与现有技术的合并方式不同,只对同一个块中的静态物体模型合并,因此能够降低场景渲染的计算量。

该实施例利用球坐标系判断物体在场景中所处的模块,在判断物体是否被视锥体包含时只需要做一个大小比较,不需要其他复杂计算,减少了计算量和理解的难度。该实施例的基于3D引擎的场景优化技术能够针对VR场景(也即自由视角场景),将空间模拟成一个球体,进行视锥分割,然后对每个视锥内部进行合并,这种优化方式,不但满足VR设备进行查看时能最大限度的减少渲染的计算量,同时还不破坏视锥剔除所带来的性能优化,因为视锥体正是模拟用户所看到的范围。并且,该实施例可以通过参数控制每个合并后的物体所包含几何体的数量,从而避免了渲染瓶颈,同时又可以任意的改变几何体的数量,重新合并,增加了合并的自由度和易用性。

图2是根据本发明实施例的另一种静态合并处理方法的流程图,以球体为例对本发明的静态合并处理方法进行说明,如图2所示,该方法包括以下步骤:

步骤S201,将笛卡尔坐标系转换为球坐标系。

当需要合并的场景摆放完之后,可以在编辑器中将场景进行优化(也即静态合并处理),优化时,首先将笛卡尔坐标系转换为球坐标系。

在一个可选的实施方式中,将场景空间以用户为中心近似成一个无限大的球体,保持空间直角坐标系的原点位置不变,将空间变换到球坐标系,可以采用如下所示的变换公式:

步骤S202,利用视锥体将水平视角进行等分。

利用视锥体将水平视角进行等分也即进行视锥分割,将空间根据视锥形分割成多个视锥体,可选地,以视锥形的半径,开口角度作为可选参数进行分割。分割完毕后球体空间被分割成多个视锥体,其中,在进行视锥分割时,底部和顶部不进行分割,独立成块。

步骤S203,遍历需要合并的物体将其放到每块的合并队列中。

遍历需要合并的物体,判断需要合并批次的物体属于哪个视锥体所在的空间,只需要将物体从直角坐标系变换到球坐标系,然后判断属于哪个视锥,将其放入该视锥体的合并队列。

步骤S204,将队列中的物体按照预设参数进行合并。

将队列中的物体按照预设参数进行合并可以是将每个队列里的物体模型根据不同的类型将物体模型拆分后,进行分类合并,其中,分类依据的类型可以是:贴图、材质、材质相关参数、网格、网格相关参数,当遇到不同材质的物体时,需要生成一个新的材质,保证材质数量等于材质的种类,以便达到最优优化,然后将新生成的物体模型变换直角坐标系,替换到原来的位置。可以采用如下公式进行变换:

步骤S205,合并完成,删除或隐藏原有物体模型。

将队列中的物体模型合并完成之后,删除或者隐藏原有物体模型。在全部优化完成之后,通过新生成的模型替代原有物体模型,原有的物体模型可以删除,也可以隐藏。

在一个可选的实施方式中,进行视锥分割时,由于视锥体是一个三维体,位置和摄像机相关,视锥体的形状决定了模型如何从摄像机空间(camera space)投影到屏幕上,其中,最常见的投影类型为透视投影。图3是根据本发明实施例的视锥体示意图,如图3所示,在透视投影时,离摄像机近的物体投影后较大,而离摄像机较远的物体投影后较小。透视投影使用棱锥作为视锥体(View Frustum),摄像机位于棱锥的椎顶。该棱锥被前后两个平面截断,形成一个棱台,只有位于Frustum内部的模型才是可见的。

在划分视锥体时,视锥体的前剪裁平面和后剪裁平面和场景中的相机一样,可以模拟用户所看到的真正场景。需要说明的是,当玩家可以小范围移动时,前剪裁平面需要在场景相机设置的基础上加上用户的最大可移动距离,这样才能将玩家近似成不运动的。其中,用户的最大可移动距离可以是通过预设方式输入的,例如,在操作面板上输入用户的最大可移动距离,用户的最大可移动距离也可以不加,例如用户不移动则可以不加用户的最大可移动距离,通过加上用户的最大可移动距离可以优化合并插件的性能。在加上用户的最大可移动距离之后,根据预设的参数,将空间分割成几个视锥体和一个上盖、一个下盖(顶部和顶部不进行分割,独立成块),也即将空间分割成6个视锥体。图4a和图4b是根据本发明实施例的空间视锥体的示意图,以俯视的角度看到的空间模拟图如图4a所示,在场景中,以用户的位置为中心,将空间模拟为一个球体,将球体划分为多个块。如图4b所示,将空间根据视锥形划分为多个视锥体,其中,每个视锥体作为一个块,视锥体可以由上、下、左、右、近、远共六个面组成。

本发明实施例针对VR场景(自由视角场景)在编辑器完成静态场景的批次合并的自动化处理,同时保证视锥剔除正常剔除。用编辑器编辑场景时,在VR场景(自由视角场景)中,将用户位置作为中心,先将空间模拟成一个球体。然后,假设玩家不运动或者只能在一定范围内运动,按照预先设定好的参数进行视锥形分割。每个分割单元内的模型会根据预先设定好的参数进行自动合并生成新的模型,然后将原有模型进行隐藏。待到确认合并后的场景没有问题后,删除原有的场景,完成自动优化工作。在进行空间立体模拟时,通过开放部分参数,达到优化的可控制性。这样既可以控制合并的几何体数量又可以在编辑器环境下随意的改变合并的方式。

需要说明的是,本发明实施例的技术方案主要应用于VR场景(自由视角场景),但必须保证用户的位置不发生改变或者仅仅在小范围内运动。同时,视锥分割时只分割水平视角的一圈范围,顶部和底部分别独立成块,不进行分割。主要原因是在长期的实践中,顶部的天空和地面通常是一起显示或者隐藏,因此没有必要浪费性能去合并。

图5是根据本发明实施例的另一种静态合并处理方法的流程图。判断需要合并批次的物体是属于哪个视锥体所在的空间,只需要将物体从直角坐标系变换到球坐标系,然后判断属于哪个视锥,将其放入该视锥体的合并队列中。如图5所示,该方法包括以下步骤:

步骤S501,将笛卡尔坐标系转换为球坐标系。

步骤S502,判断物体模长(r)是否属于视锥体。

根据物体模长判断该物体是否属于该视锥体,如果判断出属于该视锥体,则执行步骤S503,如果判断出不属于该视锥体,则执行步骤S506。

步骤S503,判断物体周角(θ)是否属于视锥体。

根据物体周角判断该物体是否属于该视锥体,例如,可以判断物体周角是否在预设范围内,如果在预设范围内则判断属于视锥体,如果判断出属于该视锥体,则执行步骤S504,如果判断出不属于该视锥体,则执行步骤S506。

步骤S504,判断物体俯仰角(φ)是否属于视锥体。

根据物体俯仰角判断该物体是否属于该视锥体,如果判断出属于该视锥体,则执行步骤S505,如果判断出不属于该视锥体,则执行步骤S506。

步骤S505,在视锥体内。

如果物体的模长,周角和俯仰角都属于视锥体,则确定该物体属于该视锥体。

步骤S506,不在视锥体内。

如果判断出物体的模长,周角和俯仰角中的一个不属于视锥体,则确定该物体不在视锥体内。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种静态合并处理装置,该静态合并处理装置可以用于执行本发明实施例的静态合并处理方法。

图6是根据本发明实施例的静态合并处理装置的示意图,如图6所示,该装置包括:

划分单元10,用于根据预先配置的参数,将场景中的空间划分为多个块。

合并单元20,用于在多个块中的每一个块内中,对标记为静态的物体模型进行合并,生成新的模型。

隐藏单元30,用于将块中原有的物体模型进行隐藏或删除。

在一个可选的实施方式中,场景为自由视角场景,划分单元10包括:模拟模块,用于在场景中,以用户的位置为中心,将空间模拟为一个立体;划分模块,用于根据预先配置的参数将立体划分为多个块。

在一个可选的实施方式中,划分模块用于:将空间根据视锥形划分为多个视锥体,其中,每个视锥体作为一个块,视锥体用于表示用户的可见范围。

在一个可选的实施方式中,划分模块用于:根据相机前剪裁平面和用户的移动范围确定视锥体的前剪裁平面;根据视锥体的前剪裁平面和相机后剪裁平面确定视锥体。

在一个可选的实施方式中,用户的移动范围为用户的最大可移动距离。

在一个可选的实施方式中,划分模块用于:将立体的顶部和底部划分为单独的块;将立体除顶部和底部之外的部分划分为多个块。

在一个可选的实施方式中,立体为一个球体,球体的半径无限大,预先配置的参数包括以下至少之一:球体的半径、开口角度,划分单元10用于:将空间的坐标转换为球坐标系,根据预先配置的参数将空间划分为多个块,得到每个块的球坐标;合并单元20用于:将物体的坐标转换为球坐标系,根据每一块的球坐标和物体的球坐标判断物体模型是否位于一个块中,并对位于一个块中的标记为静态的物体进行合并。

在一个可选的实施方式中,合并单元20包括:第一判断模块,用于执行判断步骤,根据每一块的球坐标和物体模型的球坐标判断物体是否位于一个块中,如果是,则将物体模型放入一个块的合并队列;循环模块,用于重复执行判断步骤,遍历场景中的所有物体模型;合并模块,用于根据不同的类型将合并队列里的物体模型拆分后,进行分类合并,类型包括以下至少之一:贴图、材质、材质相关参数、网格、网格相关参数。

在一个可选的实施方式中,隐藏单元30包括:第二判断模块,用于判断场景的展示效果是否达到预设条件;隐藏模块,用于在场景的展示效果没有到达预设条件时,对原有的物体模型进行隐藏;删除模块,用于在场景的展示效果到达预设条件时,对原有的物体模型进行删除。

该实施例采用划分单元10根据预先配置的参数将场景中的空间划分为多个块,合并单元20在多个块的每一个块中,根据预先配置的参数对标记为静态的物体进行合并生成新的模型,隐藏单元30将块中原有的物体模型进行隐藏或删除,从而解决了相关技术中静态合并导致的技术问题,进而达到了降低场景渲染的计算量的效果。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1