【技术实现步骤摘要】
一种大体量三维场景三维模型渲染优化方法和系统
[0001]本专利技术涉及图像数据处理
,具体涉及一种大体量三维场景三维模型渲染优化方法和系统。
技术介绍
[0002]大体量三维模型的渲染优化主要有LOD(层次细节)模型和场景管理优化等,其中场景管理优化一般有使用场景分割以及进行可见性剔除计算等不同的方法,场景管理分为场景分割和可见性剔除两种方法,可见性剔除属于场景管理的优化,其目的是为了减少三维场景在渲染流程中的数据量,因为现代使用的大体量的三维场景越来越多,其规模性和复杂性大大增加,再加上人们对交互的实时性的要求越来越高,传统的算法已经不能满足现实需求。在大体量的三维场景中,场景中的对象数量极大地增加了,但是对于用户来说,可以看到的物体是远远小于场景中物体的总数的。
[0003]通过对各种可见性剔除的分析,可见性剔除方法一般分为预处理、遮挡剔除以及实时绘制三个部分。为了能够更快的实时绘制,要尽可能的把计算操作放到离线的处理中,对于大体量的三维模型场景,以大型设备的装配场景为例,总装配体模型往往有着非常庞大的数据量,远超主流配置PC所能承受的范围,为了对装配体模型进行简化,减少数据量和渲染时间,需要将模型中一些隐藏的零件模型做剔除,也可以叫做模型的轻量化。
[0004]事实上,随着人机交互需求的增加,对于普通PC而言,如果采用已有的模型剔除和简化方法,在视角转换的过程中会存在需要计算视域再绘制的过程,模型的渲染会占用CPU近100%的计算,出现模型加载过慢产生的卡顿感和丢帧现象,影响实际使用体验 ...
【技术保护点】
【技术特征摘要】
1.一种大体量三维场景三维模型渲染优化方法,其特征在于,包括以下步骤:S1,三维模型文件数据简化预处理,对三维模型文件进行简化,提取用于进行场景渲染的三维可视化数据,去除其他数据,减少三维模型文件总数据大小;S2,对剔除区域进行分类,根据视点的观察范围,对三维模型文件中不在视点的观察范围的模型进行剔除区域分析,得到不同分类的剔除区域,形成多层次视域体;S3,包围体构建,对三维模型文件中物体的轮廓进行分析,得到物体的包围体;S4,深度检测,根据所述步骤S2中得到的多层次视域体和所述步骤S3中得到的不同物体的包围体,在视角和投影矩发生变化时,计算得到不同物体的包围体与多层次视域体的位置关系;S5,实时绘制与渲染,根据所述步骤S4得到的不同物体的包围体与多层次视域体的位置关系进行实时绘制与渲染。2.如权利要求1所述的一种大体量三维场景三维模型渲染优化方法,其特征在于,所述步骤S2中得到的多层次视域体包括视锥体视域和圆锥体视域,所述视锥体视域和所述圆锥体视域同轴,所述圆锥体视域的范围包含所述视锥体视域的范围,位于所述圆锥体内和所述视锥体外的区域为中间体视域,所述圆锥体外的区域为视域外区域。3.如权利要求2所述的一种大体量三维场景三维模型渲染优化方法,其特征在于,所述步骤S3中,包围体类型为球形包围体。4.如权利要求3所述的一种大体量三维场景三维模型渲染优化方法,其特征在于,所述包围体与所述多层次视域体的位置关系为内含、相交和外离三种中任一种。5.如权利要求4所述的一种大体量三维场景三维模型渲染优化方法,其特征在于,所述步骤S4包括:S41,遍历视锥体的六个裁面,判断包围体是在该裁面的正面、背面,还是与该裁面相交;S42,计算从包围体中心到该裁面的距离;S43,如果距离大于0,则包围体在裁面正面,即在视锥体内,返回值IN;S44,如果小于0,则包围体是在裁面背面,进行下一步判断;S45,如果距离的绝对值小于球体半径,则包围体与该裁面相交,即包围体部分在视锥体内,返回值INTERSECT;S46,对于距离小于0且距离的绝对值大于包围体半径的包围体,继续遍历圆锥体三个裁面,判断包围体是在该裁面的正面,背面,还是相交;S47,计算从包围体中心到该裁面的距离;S48,如果距离大于0那包围体在裁面正面,即在圆锥体内和视锥体外,返回值INMED;S49,如果小于0那么包围体在裁面背面,进行下一步判断;S410,如果距离的绝对值小于包围体半径,那么包围体与该裁面相交,返回值INMEDSECT;S411,如果距离的绝对值大于包围体半径,即在视域外区域,返回值OUT;S412,集合A包含IN和INTERSECT返回值所代表的包围体内多叉树结构范围内的所有物体;集合B包含INMED和INMEDSECT返回值所代表的包围体内多叉树结构范围内的所有物体;集合C包含OUT返回值所代表的包...
【专利技术属性】
技术研发人员:张驰,余晓君,张兵,武银雪,
申请(专利权)人:武汉方拓数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。