一种面向三维数字城市的高效多细节层次渲染方法技术

技术编号:6964378 阅读:309 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种面向三维数字城市的高效多细节层次渲染方法,其主要技术特点包括以下步骤:导出基于三角面面积建立分级索引的三维模型;以三角面面积为依据结合视距动态加载渲染三维模型。本发明专利技术设计合理,以三角面面积为依据结合视距动态加载渲染三维模型,避免考虑三维建筑模型的内在约束,同时保留正确的三维模型纹理对应关系,在模型导出过程中,在减少模型体积的同时以三角形面积大小为依据,实现了三维模型的分层分级,在视点较远时只能看到面积比较大的面片,视点较近时,则有更多、更细的的三角网格被渲染,从而满足了大范围三维场景实时渲染的要求,解决了大场景三维数字城市中建筑渲染对计算机硬件严重依赖的问题。

【技术实现步骤摘要】

本专利技术属于图形处理领域,尤其是。
技术介绍
目前,由于普通计算机的性能很难满足大场景三维模型渲染要求,因此,严重影响了三维数字城市技术的应用和推广。虽然L0D(LeVelS of Detail,多细节层次)技术的引入为此问题解决提供了可能。但是LOD在三维数字城市中应用过程中,关键问题之一—— 对已建成三维建筑模型的动态简化问题,一直没有得到很好的解决。目前针对三维建筑模型的动态简化算法有自底而上的方法和自顶而下的方法,但是,这些方法都是针对自由曲面模型的,无法顾及建筑物内在的约束条件,难以用于建筑物表面模型的简化。目前,国外一些研究在进行三维建筑物模型简化时,虽然一定程度上考虑了建筑物的内在约束,但是对于不具有严格约束部分的简化则反而被忽略,更何况这些算法在进行模型简化的同时, 对模型纹理的正确对应关系还没有很好的处理方法。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供,解决了大场景三维数字城市中建筑渲染对计算机硬件严重依赖的问题, 实现了三维数字城市简易高效的LOD调度渲染,满足了大范围三维场景实时渲染的要求。本专利技术解决现有的技术问题是采取以下技术方案实现的,包括以下步骤(1)导出基于三角面面积建立分级索引的三维模型;(2)以三角面面积为依据结合视距动态加载渲染三维模型。而且,所述的导出基于三角面面积的三维模型包括以下处理过程(1)利用以下公式快速计算三角面面积S = abs ((X1*y2+X2*y3+X3*y1-X1*y3-X2*yi-X3*y2) /2)其中S为三角形面积,P1(X^y1)、P2 (x2,y2)、P3(x3,y3)为三角形三个点坐标;(2)将三维模型的三角面按照面积大小分解为若干个区间并对三角面面积进行排序;(3)将排序后的模型三角面面积按顺序输出到二进制文件中,生成三维模型文件;(4)将纹理对应上述模型进行有损抽样压缩。而且,所述的对三角面面积进行排序的方法为递归调用快速排序方法。而且,所述的排序是按照三角面面积由大到小的顺序排序。而且,所述的将纹理对应上述模型进行有损抽样压缩的方法为利用人眼对远处景物识别的模糊性,以2n为标准压缩进行压缩。而且,所述以三角面面积为依据结合视距动态加载渲染三维模型的方法包括以下步骤(1)获取当前观察者视角矩阵并进行过滤获取视野内建筑模型;(2)利用快速排序算法对视野内建筑模型按照视点距离大小进行由近及远排序;(3)针对某个模型渲染根据视点距离决定选择其模型渲染级别;(4)判断模型当前渲染级别有无变化,若无变化则继续渲染,若级别有变化则删除原显存中显示列表,重新渲染。本专利技术的优点和积极效果是本专利技术通过建立基于三角面面积对三维模型建立分级索引,以及分级与视点距离的动态对应关系,以三角面面积为依据结合视距动态加载渲染三维模型,避免考虑三维建筑模型的内在约束,同时保留正确的三维模型纹理对应关系。在模型导出过程中,在减少模型体积的同时以三角形面积大小为依据,实现了三维模型的分层分级,在视点较远时只能看到面积比较大的面片,视点较近时,则有更多、更细的的三角网格被渲染,从而满足了大范围三维场景实时渲染的要求,解决了大场景三维数字城市中建筑渲染对计算机硬件严重依赖的问题。附图说明图1是本专利技术的批量调度渲染处理流程图; 具体实施例方式以下结合附图对本专利技术实施例做进一步详述。—种面向三维数字城市的高效多细节层次渲染方法,包括如下步骤步骤1 导出基于三角面面积建立分级索引的三维模型本步骤包括以下处理过程1、三角面面积的快速计算利用三角形两边的法向量的模即为三角形的面积的特点,经过简化展开,得出计算三角面面积的简易快速公式S = abs ( (χ1*Υ2+χ2*Υ3+χ3*Υι-Χι*Υ3"χ2*Υι"χ3*Υ2) /2)其中=S 三角形面积,P1 (xi; Y1)、P2 (x2, y2)、P3 (x3, y3)为三角形三个点坐标; 2、将三维模型的三角面按照面积大小分解为若干个区间并对三角面面积进行排序;对三角面面积进行排序的方法为通过递归调用快速排序方法对左、右子区间 R和 R进行快速排序,在 R中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R,并使左边子区间中所有记录的关键字均小于等于基准记录(记作pivot)的关键字pivot, key,右边的子区间中所有记录的关键字均大于等于pivot, key,而基准记录pivot则位于正确的位置(pivotpos)上,它无须参加后续的排序。通过递归调用快速排序对左、右子区间R和R 快速排序,排序的顺序为从大到小顺序排序。3、将排序后的模型三角面面积按顺序输出到二进制文件中,生成三维模型文件, 该三维模型文件中包含模型三角面的面积信息,用于三角面的渲染;4、将纹理对应上述模型进行有损抽样压缩;由于三维模型文件所需纹理已经按照图片在建模过程中进行了尽可能的压缩并保存为压缩之后的格式,在此基础之上再进行无损压缩已经很难再有明显效果,因此,利用人眼对远处景物识别的模糊性,将纹理对应上述模型进行有损抽样压缩,以2n为标准压缩成模型对应级别,建立三维模型与纹理的对应关系。步骤2 以三角面面积为依据结合视距动态加载渲染三维模型批量调度渲染步骤主要以三角面模型的面积为标准建立动态分级、分层,加载渲染时根据视距决定选择不同分层的三角网格进行渲染。如图1所示,批量调度渲染的具体处理过程包括在一个帧循环中,每帧处理内容包括1、获取当前观察者视角矩阵并进行过滤获取视野内建筑模型;2、利用快速排序算法对视野内建筑模型按照视点距离大小进行由近及远排序,这样可以保证渲染时,近处模型先渲染;3、针对某个模型渲染根据视点距离决定选择其模型渲染级别;本过程主要建立三角面面积分层级别,其通过预先设置建立多个层级,具体可以根据模型的体量和精度进行动态调整,不同的级别可以设定不同的三角面大小,例如,一级设定为500,则表示在一级时,面积大于500平方米的三角面才会被渲染,而小于500平方米的模型细节面将会被忽略;4、判断模型当前渲染级别有无变化,若无变化则继续渲染,若级别有变化则删除原显存中显示列表,重新渲染。本过程主要对模型三角面进行选择性渲染,以视点视距为依据,建立与模型分 级之间的对应关系,当视距变化时,判断是否需要调用不同级别的三角面,若确是需要,则删除原显存中显示列表,重新绘制。循环执行上述帧循环处理过程,即可实现批量调度渲染功能。本专利技术所述的实施例是说明性的,而不是限定性的,因此专利技术并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本专利技术的技术方案得出的其他实施方式,同样属于本专利技术保护的范围。权利要求1.,其特征在于包括以下步骤(1)导出基于三角面面积建立分级索引的三维模型;(2)以三角面面积为依据结合视距动态加载渲染三维模型。2.根据权利要求1所述的,其特征在于所述的导出基于三角面面积的三维模型包括以下处理过程(1)利用以下公式快速计算三角面面积S = abs ( (χ1*Υ2+χ2*Υ3+χ3*Υι-Χι*Υ3-Χ2*Υι-Χ3*Υ2) /2)其中S为三角形面积,P1(X^y1)、P2 (x2,y2)、P3(x3,y3)为三角形三个点坐标;(2)将三维模型的三角面按照面积本文档来自技高网...

【技术保护点】
1.一种面向三维数字城市的高效多细节层次渲染方法,其特征在于:包括以下步骤:(1)导出基于三角面面积建立分级索引的三维模型;(2)以三角面面积为依据结合视距动态加载渲染三维模型。

【技术特征摘要】

【专利技术属性】
技术研发人员:池天河彭玲索永峰
申请(专利权)人:天津中科遥感信息技术有限公司
类型:发明
国别省市:12

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

1