【技术实现步骤摘要】
本专利技术涉及计算机网络通信领域,尤其涉及一种三维模型渲染显示方法及三维模型渲染显示系统。
技术介绍
由于对三维模型进行渲染时,一般需要对三维模型数据从粗到近,从低level到高level逐级请求并渲染;当三维模型比较精细时,对网速和内存的要求比较高,否则很难达到流畅的效果,因此现有技术中往往通过浏览器控件或客户端软件的方式来实现远程浏览三维模型,即用户需要安装插件或软件。然而,随着html5及WebGL的发展,在浏览器上直接浏览三维模型成为可能。WebGL是一项利用JavaScriptAPI呈现3D电脑图形的技术,有别于过往需加装浏览器插件,通过WebGL的技术,只需要编写网页代码即可实现3D图像的展示。对于高精度三维模型,例如三维建筑物,它们的特点是地理范围小,采样精度高,数据量大。当前常用的方案是简单分块多细节层次(LOD,LevelsofDetial)或自适应分块的模型数据来实现三维模型的渲染。如图1示出的现有技术中简单分块LOD的数据结构示意图,可以将三维模型初始划分为i*j*k个子块,图1中以只列出三个子块(块0、块1和块2)为例,每个子块根据LOD需要,再生成n个层级level对应的节点数据,渲染时,根据视点远近直接选定目标子块、目标level的节点数据进行绘制。然而,当模型精度较高时,初始分块数据就可能过大(顶点数过多或纹理过大);如果为了保证单个子块的数据量,就得划分过多的子块,导致可见对象数目过多,在绘制时帧率会明显下降,并对通过WebGL来实现远程浏览三维模型造成更加明显的影响。因此这种方法无法适应高精度模型的远程可视化。如图2示出 ...
【技术保护点】
一种三维模型渲染显示方法,其特征在于,包括:根据当前视点的位置信息,判断建立的三维模型中每个子块的根节点是否可见;所述三维模型按照三维坐标方向进行了分块,分成多个子块,且每个子块预先根据各自的层级和数据量信息生成有各自对应的自适应树多细节层次LOD;根据所述自适应树LOD,从可见的根节点开始递归遍历子树,按照层级逐层对所述根节点下的所有节点进行可见性判断和LOD精度测试,得出满足可见性和LOD精度要求的节点对应的层级;加载满足要求的所述层级对应的模型数据,对三维模型进行渲染显示。
【技术特征摘要】
1.一种三维模型渲染显示方法,其特征在于,包括:根据当前视点的位置信息,判断建立的三维模型中每个子块的根节点是否可见;所述三维模型按照三维坐标方向进行了分块,分成多个子块,且每个子块预先根据各自的层级和数据量信息生成有各自对应的自适应树多细节层次LOD;根据所述自适应树LOD,从可见的根节点开始递归遍历子树,按照层级逐层对所述根节点下的所有节点进行可见性判断和LOD精度测试,得出满足可见性和LOD精度要求的节点对应的层级;加载满足要求的所述层级对应的模型数据,对三维模型进行渲染显示。2.如权利要求1所述的方法,其特征在于,通过预设的元数据文件对所述三维模型的基本信息,所述自适应树LOD的树形结构信息以及每个节点的瓦片Tile信息进行存储;所述根据当前视点的位置信息,判断建立的三维模型中每个子块的根节点是否可见之前,还包括:通过请求所述元数据文件,在内存中重建三维模型的节点构成的树形结构。3.如权利要求2所述的方法,其特征在于,所述分块中的节点对应的几何数据和纹理数据分别通过独立的文件进行存储;所述加载满足要求的所述层级对应的模型数据,对三维模型进行渲染显示包括:根据得出的满足要求的所述层级对应的模型数据,从所述独立的文件中进行提取并进行加载,对三维模型进行渲染显示。4.如权利要求2所述的方法,其特征在于,判断出子块中可见的根节点之后,所述根据所述自适应树LOD,从可见的根节点开始递归遍历子树之前,还包括:判断所述可见的根节点是否标识绘制过;当判断结果为否时,请求并绘制所述可见的根节点。5.如权利要求1所述的方法,其特征在于,所述按照层级逐层对所述根节点下的所有节点进行可见性判断和LOD精度测试,得出满足可见性和LOD精度要求的节点对应的层级,包括:将所述可见根节点的下一层级节点作为当前层级节点,判断所述当前层级节点是否可见;当判断结果为是时,对所述当前层级节点进行LOD精度测试,分析是否满足LOD精度要求;当分析结果为是时,则所述当前层级为满足可见性和LOD精度要求的节点对应的层级;当分析结果为否时,则将所述当前层级节点的下一层级节点作为更新的当前层级节点,并重复执行所述判断所述当前层级节点是否可见的步骤,直到得出满足可见性和LOD精度要求的节点对应的层级。6.如权利要求1-5任一项所述的方法,其特征在于,当所述视点的位置或视角发生变化需要进行场景切换时,得出满足可见性和LOD精度要求的节点对应的层级从层级i变化到层级j,其中所述i和j为正整数,且j大于i;所述加载满足要求的所述层级对应的模型数据包括:根据满足要求节点的所属子块对应的自适应树LOD,分析所述层级i到所述层级j之间是否存在分叉树;当分析结果为否时,跨级直接请求加载所述层级j对应的模型数据;当分析结果为是时,请求加载从所述层级i往下的第一个分叉树所对应的模型数据。7.如权利要求6所述的方法,其特征在于,加载了所述层级j对应的模型数据,完成对三维模型的渲染显示后,将所述上一层级对应的模型数据进行卸载。8.如权利要求6所述的方法,其特征在于,当多个子块中的节点需要同时从层级i变化到层级j时,所述加载满足要求的所述层级对应的模型数据,包括:判断从层级i到层级j经过的层级数量是否到达预设阈值;当判断结果为是时,按照预设的间隔层级数,逐层加载层级对应的模型数
\t据,并当所述多个子块的节点都完成加载当前层级对应的模型数据后,才间隔所述间隔层级数加载下一层级对应的模型数据。9.一种三维模型渲染显示系统,其特征在于,包括:可见判断模块,用于根据当前视点的位置信息,判断建立的三维模型中每个子块的根节点是否可见;所述三维模型按照三维坐标方...
【专利技术属性】
技术研发人员:王斌,
申请(专利权)人:深圳市腾讯计算机系统有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。