一种三维场景的构建方法及系统技术方案

技术编号:11437536 阅读:132 留言:0更新日期:2015-05-08 15:40
一种三维场景的构建方法及系统,其中,该三维场景构建方法包括:三维场景的构建系统若检测到相机位姿发生改变,则遍历树形结构的节点,根据当前帧图像的渲染帧率及相机的移动速度对该树形结构的节点进行更新,遍历更新后的树形结构的节点,利用该树形结构的节点的三维空间数据构造节点的渲染数据,并利用构造后的树形结构的节点的渲染数据进行当前帧图像的三维场景的渲染。上述的三维场景的构建工程模块化清晰,且通过根据当前帧图像的渲染帧率及相机的移动速度对树形结构的节点进行更新,能够有效的减少节点更新的计算量,提高渲染效率。

【技术实现步骤摘要】
一种三维场景的构建方法及系统
本专利技术涉及三维空间数据可视化
,尤其涉及一种基于树形结构的三维场景的构建方法及系统。
技术介绍
大规模三维地图场景动态实时渲染技术在地理信息系统和虚拟实现方面都有着重要应用,如自然灾害仿真和虚拟战场演练等。近年来随着计算机图形硬件技术的飞速发展,现在已经基本可以实现小规模三维场景的实时渲染。但是针对于大规模三维场景实时渲染来说,情况复杂的多,大规模三维场景中涉及到大量的三维空间数据,少则上百GB(Gigabyte),多则数十TB(Terabyte),这么大规模的数据已经远远超出目前计算机图形硬件系统的实时渲染和内存管理能力。为了解决这一问题,细节层次模型(LevelOfDetail,LOD)技术应运而生,它更符合人的视觉感知特性,也改变了人们在任何情况下都认为是“模型越精细图像质量就越好”的观点。LOD技术是一种较为有效的图形生成加速技术,它是在不影响画面视觉效果的前提下,基于相机位姿相关信息,动态更新场景中的物体的细节层次,由此来减少场景的几何渲染量,从而达到提高渲染效率的目的。其中,本文所指的LOD技术是特指多分辨率LOD技术。多分辨率LO本文档来自技高网...
一种三维场景的构建方法及系统

【技术保护点】
一种三维场景的构建方法,其特征在于,包括:三维空间数据预先按照树形结构进行离线细节层次模型LOD处理,所述树形结构为四叉树或者八叉树;若检测到相机位姿发生改变,则遍历树形结构的节点,根据当前帧图像的渲染帧率及所述相机的移动速度对所述树形结构的节点进行更新;遍历更新后的所述树形结构的节点,利用所述树形结构的节点的三维空间数据构造所述节点的渲染数据;利用构造后的所述树形结构的节点的渲染数据进行当前帧图像的三维场景的渲染。

【技术特征摘要】
1.一种三维场景的构建方法,其特征在于,包括:三维空间数据预先按照树形结构进行离线细节层次模型LOD处理,所述树形结构为四叉树或者八叉树;若检测到相机位姿发生改变,则遍历树形结构的节点,根据当前帧图像的渲染帧率及所述相机的移动速度对所述树形结构的节点进行更新;包括:若节点i的索引信息指示所述节点i的三维空间数据存在,则根据当前帧图像的渲染帧率及所述相机的移动速度判断是否需要延迟更新所述节点i;遍历更新后的所述树形结构的节点,利用所述树形结构的节点的三维空间数据构造所述节点的渲染数据;利用构造后的所述树形结构的节点的渲染数据进行当前帧图像的三维场景的渲染。2.根据权利要求1所述的方法,其特征在于,所述遍历树形结构的节点,根据当前帧图像的渲染帧率及所述相机的移动速度对所述树形结构的节点进行更新,还包括:遍历树形结构的节点,对遍历到的节点按照如下的步骤进行更新:获取所述节点i的索引信息,所述索引信息用于指示节点的三维空间数据是否存在;若不需要延迟更新所述节点i,则根据所述节点i的所述索引信息对所述节点i进行视域裁剪,并获取所述节点i的三维空间数据;若需要延迟更新所述节点i,则结束所述节点i的更新,且若节点i有子节点,则销毁节点i的子节点,返回父节点继续进行遍历,将未遍历的节点当作节点i,返回执行所述获取节点i的索引信息的步骤。3.根据权利要求2所述的方法,其特征在于,所述根据当前帧图像的渲染帧率及所述相机的移动速度判断是否需要延迟更新所述节点i,包括:若当前帧图像的渲染帧率大于预先设置的第一数值,或者若所述当前帧图像的渲染帧率小于预先设置的所述第一数值且所述相机的移动速度小于预先设置的第二数值,则确定所述节点i不需要延迟更新;若当前帧图像的渲染帧率小于预先设置的所述第一数值且所述相机的移动速度大于预先设置的所述第二数值,则确定所述节点i需要延迟更新。4.根据权利要求2所述的方法,其特征在于,所述根据所述节点i的所述索引信息对所述节点i进行视域裁剪,并获取所述节点i的三维空间数据,包括:根据所述节点i的索引信息中包含的所述节点i的最大高程信息及最小高程信息确定所述节点i是否在视域内;若所述节点i不在视域内,则结束对所述节点i的更新,且若所述节点i有子节点,还将销毁所述节点i的子节点,返回父节点继续进行遍历,将未遍历的节点当作节点i,返回执行所述获取节点i的索引信息的步骤;若所述节点i在视域内,则根据所述节点i的索引信息获取节点的三维空间数据。5.根据权利要求4所述的方法,其特征在于,所述根据所述节点i的索引信息获取节点的三维空间数据包括:根据所述节点i的索引信息中包含的粗糙度信息进行粗糙度评价;若所述粗糙度评价符合条件,则获取所述节点i的三维空间数据,且若所述节点i有子节点,还将销毁所述节点i的子节点,然后继续遍历下一个节点,将所述下一个节点作为节点i,返回执行所述获取节点i的索引信息的步骤;若所述粗糙度评价不符合条件,则遍历所述节点i的子节点,将所述节点i的子节点作为节点i,返回执行所述获取节点i的索引信息的步骤。6.根据权利要求1至5任意一项所述的方法,其特征在于,所述根据当前帧图像的渲染帧率及所述相机的移动速度对所述树形结构的节点进行更新,之后还包括:遍历更新后的所述树形结构的节点,根据节点的LOD级别进行T型裂缝修补。7.根据权利要求6所述的方法,其特征在于,所述根据节点的LOD级别进行T型裂缝修补,包括:判断节点n的周围四个方向的毗邻节点的LOD级别是否均低于所述节点n的LOD级别一个等级;若是,则移除所述节点n在三维场景中对应边界上多余顶点,并重构边界三角形带;若否,则确定所述节点n不需要进行T型裂缝修补。8.根据权利要求2至5任意一项所述的方法,其特征在于,所述索引信息采用金字塔型存储,其中,将树形结构级数从低到高分段,属于同一段的相邻预置级数的节点索引信息保存在与塔顶节点相关联的同一文件中。9.根据权利要求8所述的方法,其特征在于,对保存所述索引信息的文件做错位冗余处理,形成新的金字塔型存储文件。10.根据权利要求8所述的方法,其特征在于,获取的索引信息缓存在内存,且若保存的所述索引信息在预先设置的时间内未使用,则从所述内存中删除所述索引信息。11.根据权利要求10所述的方法,其特征在于,所述获取节点i的索引信息包括:若所述内存中包含所述节点i的索引信息,则从所述内存中获取所述节点i的索引信息;若所述内存中不包含所述节点i的索引信息,则获取属于同一段的相距所述节点i级数较远的塔顶节点文件,所述塔顶节点文件中包含节点i的索引信息的节点文件。12.根据权利要求1所述的方法,其特征在于,所述遍历更新后的所述树形结构的节点,利用所述树形结构的节点的三维空间数据构造所述节点的渲染数据,包括:遍历更新后的所述树形结构的节点,按照如下的步骤构造节点:遍历属于同一个父节点的所有子节点,构造所述所有子节点的渲染数据;若所述父节点为根节点,则将所述子节点集合的渲染数据发送给渲染引擎;若所述父节点为非根节点,则将所述所有子节点集合交由所述父节点收集,返回执行所述构造所述所有子节点的渲染数据的步骤。13.根据权利要求12所述的方法,其特征在于,所述构造子节点的渲染数据,包括:获取子节点m的三维空间数据;若子节点m的三维空间数据获取成功,则利用所述子节点m的三维空间数据构造所述子节点m的渲染数据;判断所述属于同一父节点的所有子节点是否遍历完成;若是,则执行所述若所述父节点为根节点,则将所述子节点集合的渲染数据发送给渲染引擎的步骤;或者,执行所述若所述父节点为非根节点,则将所述所有子节点集合交由所述父节点收集的步骤;若否,则遍历所述属于同一父节点的所有子节点中的未遍历子节点,将所述未遍历子节点作为节点m,返回执行所述获取子节点m的三维空间数据的步骤。14.根据权利要求13所述的方法,其特征在于,所述方法还包括:若所述子节点m的三维空间数据获取不成功...

【专利技术属性】
技术研发人员:付玉锦
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1