三维场景更新方法、装置、存储介质及电子设备与流程

文档序号:37544094发布日期:2024-04-08 13:46阅读:9来源:国知局
三维场景更新方法、装置、存储介质及电子设备与流程

本技术涉及计算机视觉领域,尤其涉及一种三维场景更新方法、装置、存储介质及电子设备。


背景技术:

1、随着科技的进步与发展,智慧城市在城市规划领域的作用愈发重要。在城市规划时可以通过虚拟的三维场景来模拟城市规划效果。

2、在三维场景中模拟效果时,往往会涉及到对三维场景中的特定区域进行处理。例如,一个城市开展老旧小区改造计划时,先在三维场景中加载市区模型,同时把需要改造的老旧小区裁剪掉,然后在老旧小区的位置加载改造方案对应的模型数据,形成改造后的市区模型,便于直观地看到改造后的整体效果。在这个过程中,首先需要判断三维场景中的模型是否在要裁剪的范围内,然后再对其进行裁剪。

3、对三维场景的区域进行处理时,需要确定点是否落在该要处理的区域范围内。目前常见的判定范围的方法有三种,一种是通过遍历模型内所有顶点,逐个和范围内点进行求交,以判定顶点是否在范围内;一种是通过将范围内点坐标传入gpu,在gpu着色器内对每个顶点是否落在范围内进行求交;还有一种是将范围内点坐标通过float纹理传入gpu,然后在gpu中解析出点坐标,再与模型中顶点进行求交。但是,第一种方式对模型内每个顶点都需要一一与范围内点进行求交,需要花费大量时间,效率较低;第二种方式,gpu能接收的顶点数量有限,无法处理复杂的区域;第三种方式,虽然一次性传入gpu的点数量不受限制,但是求交运算仍然需要花费大量时间,效率仍然不高。


技术实现思路

1、本技术提供一种三维场景更新方法、装置、存储介质及电子设备,能够提高对三维场景的处理效率。

2、第一方面,本技术提供一种三维场景更新方法,包括:获取三维场景中的待更新区域,所述待更新区域包括多个顶点;根据所述待更新区域包括的顶点,获得所述待更新区域的包围盒;获取所述包围盒中在当前视景体内的待更新包围盒,根据所述待更新包围盒生成纹理贴图;基于所述三维场景中的待渲染顶点对所述纹理贴图进行采样,根据采样值确定是否对所述待渲染顶点进行更新。

3、根据本技术实施例的三维场景更新方法,对于三维场景中的待更新区域,获得待更新区域的包围盒,根据包围盒中在当前视景体内的待更新包围盒,生成纹理贴图,通过对该纹理贴图进行采样来确定三维场景中的顶点是否在待更新区域中,无需逐一顶点进行求交运算,可以提高范围确定的效率,提高三维场景中轮廓更新的效率。并且,纹理贴图能够适配多个区域,不受区域中顶点的数量限制,能够提高兼容性、可用性。此外,待更新区域可以在三维场景中实时变化,对应的纹理贴图也可以实时更新,进而实现对三维场景的实时更新,灵活性较高。

4、在一种示例性实施方式中,所述根据所述待更新包围盒生成纹理贴图,包括:生成与所述待更新包围盒长宽比一致的画布,根据所述待更新区域中的顶点在所述待更新包围盒中的相对坐标,确定所述待更新区域中的顶点在所述画布中的坐标,将所述坐标处的颜色修改为设定值,得到纹理贴图。

5、在一种示例性实施方式中,所述生成与所述待更新包围盒长宽比一致的画布,包括:在所述待更新包围盒包括多个时,确定多个所述待更新包围盒的总包围盒;生成与所述总包围盒长宽比一致的画布。

6、在一种示例性实施方式中,所述基于所述三维场景中的待渲染顶点对所述纹理贴图进行采样,包括:获取所述待更新包围盒中的最大点和最小点;将所述待渲染顶点与所述最大点、所述最小点进行对比,确定所述待渲染顶点是否在所述待更新包围盒内;若所述待渲染顶点在所述待更新包围盒内,则对所述纹理贴图进行采样,得到所述待渲染顶点对应的采样值。

7、在一种示例性实施方式中,所述对所述纹理贴图进行采样,得到所述待渲染顶点对应的采样值,包括:根据所述待渲染顶点在所述待更新包围盒内的相对坐标,对所述纹理贴图进行采样,得到所述相对坐标处的采样值。

8、在一种示例性实施方式中,所述根据采样值确定是否对所述待渲染顶点进行更新,包括:若所述采样值与所述设定值相同,则确定对所述待渲染顶点进行更新;若所述采样值与所述设定值不同,则不对所述待渲染顶点进行更新。

9、在一种示例性实施方式中,所述获取所述包围盒中在当前视景体内的待更新包围盒,包括:确定所述包围盒的中心点与相机位置之间的距离是否在预设阈值内;在所述距离在所述预设阈值内时,确定所述包围盒是否在所述当前视景体内;若所述包围盒在所述当前视景体内,则将所述包围盒确定为待更新包围盒。

10、第二方面,本技术提供一种三维场景更新装置,包括:更新区域获取模块,用于获取三维场景中的待更新区域,所述待更新区域包括多个顶点;包围盒确定模块,用于根据所述待更新区域包括的顶点,获得所述待更新区域的包围盒;纹理贴图生成模块,用于获取所述包围盒中在当前视景体内的待更新包围盒,根据所述待更新包围盒生成纹理贴图;场景更新模块,用于基于所述三维场景中的待渲染顶点对所述纹理贴图进行采样,根据采样值确定是否对所述待渲染顶点进行更新。

11、在一种示例性实施方式中,纹理贴图生成模块具体包括:画布绘制模块,用于生成与所述待更新包围盒长宽比一致的画布,根据所述待更新区域中的顶点在所述待更新包围盒中的相对坐标,确定所述待更新区域中的顶点在所述画布中的坐标,将所述坐标处的颜色修改为设定值,得到纹理贴图。

12、在一种示例性实施方式中,所述画布绘制模块具体被配置为:在所述待更新包围盒包括多个时,确定多个所述待更新包围盒的总包围盒;生成与所述总包围盒长宽比一致的画布。

13、在一种示例性实施方式中,场景更新模块具体包括:顶点数据获取模块,用于获取所述待更新包围盒中的最大点和最小点;范围判定模块,用于将所述待渲染顶点与所述最大点、所述最小点进行对比,确定所述待渲染顶点是否在所述待更新包围盒内;采样模块,用于若所述待渲染顶点在所述待更新包围盒内,则对所述纹理贴图进行采样,得到所述待渲染顶点对应的采样值。

14、在一种示例性实施方式中,采样模块具体被配置为:根据所述待渲染顶点在所述待更新包围盒内的相对坐标,对所述纹理贴图进行采样,得到所述相对坐标处的采样值。

15、在一种示例性实施方式中,场景更新模块具体包括:第一判定模块,用于若所述采样值与所述设定值相同,则确定对所述待渲染顶点进行更新;第二判定模块,用于若所述采样值与所述设定值不同,则不对所述待渲染顶点进行更新。

16、在一种示例性实施方式中,上述包围盒确定模块具体包括:距离确定模块,用于确定所述包围盒的中心点与相机位置之间的距离是否在预设阈值内;范围确定模块,用于在所述距离在所述预设阈值内时,确定所述包围盒是否在所述当前视景体内;包围盒筛选模块,用于若所述包围盒在所述当前视景体内,则将所述包围盒确定为待更新包围盒。

17、第三方面,本技术提供一种电子设备,该电子设备包括存储器、一个或多个处理器。其中,该存储器中存储有一个或多个计算机程序,计算机程序包括指令,当该指令被处理器执行时,可使得电子设备执行如第一方面中的三维场景更新方法。

18、第四方面,本技术提供一种计算机可读介质,该计算机可读介质中存储有指令,当该指令在电子设备上运行时,使得电子设备执行如第一方面中的三维场景更新方法。

19、第五方面,本技术提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面所述的三维场景更新方法。

20、可以理解地,上述提供的三维场景更新装置、电子设备、计算机可读介质、计算机程序产品所能达到的有益效果,可参考第一方面中的有益效果,此处不再赘述。

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