一种大规模云场景绘制方法

文档序号:8260276阅读:213来源:国知局
一种大规模云场景绘制方法
【技术领域】
[0001] 本发明涉及大规模云场景的建模及绘制,属于计算机图形学研宄领域,主要应用 于视景仿真,特别是云场景的实时绘制在视景仿真中有着重要应用。
【背景技术】
[0002] 作为一种常见的流体,云的仿真是室外场景仿真中的一个重要组成部分,是计算 机图形学领域研宄的热点,尤其是大规模云场景的仿真在飞行训练、三维游戏、影视制作中 有着广泛的应用。然而,由于云外观的不规则性,不能用数学函数对其进行描述,且云的变 化多样更加大了它的仿真难度。作为一种复杂的自然现象,云的变化受到宏观和微观因素 的影响,它的动态特性由流体动力学、热力学等物理因素所控制,云的光照也异常复杂,不 但有来自太阳光的散射,还有云粒子间的相互反射,还有来自地面和天空中的光照。
[0003] 已有云的仿真方法可以分为两类:启发式方法和基于物理的方法。近年来,基于 物理的方法因其仿真效果更真实日益成为主流。基于物理的方法关键在于偏微分方程的求 解,基于网格的方法是解偏微分方程时常用的技术,该技术在仿真空间中生成一个网格空 间来计算云的运动,将控制流体运动的偏微分方程使用网格来离散化,采用有限差分方法 求解。已有基于网格的方法虽然生成的云场景较为真实,但效率较低,而且灵活性不足,受 限于初始设定的网格分辨率,当观察者位置发生变化或者是仿真空间中的物体运动时,无 法调整网格空间的分辨率,尤其是在绘制大规模云场景时更是难以实现实时交互效果。
[0004] 因此,一种能对大规模云场景进行三维建模和实时绘制的方法可以解决上述问 题,提高云场景的绘制效率,加强场景仿真的真实感与沉浸感。

【发明内容】

[0005] 本发明针对上述问题做了深入的研宄,提出一种大规模云场景的绘制方法,用于 大规模云场景以及物体与云场景之间交互的实时绘制,至少包含了以下几个步骤:多分辨 率活动网格的建立、为参与交互的物体建立OBB(OrientedBoundingBox)层次包围盒、全 局和局部网格分辨率的判定、网格单元的拆分与合并、云场景的渲染;所述的多分辨率活动 网格的建立,完成整个仿真空间的剖分,该网格空间为全局网格,在参与交互的物体边界建 立相应的网格空间,该网格空间为局部网格,所有的网格都均匀划分;所述的为参与交互的 物体建立0BB层次包围盒,完成每个物体0BB包围盒树的建立,提高物体与云的相交测试速 度,当物体在仿真环境中运动时,其包围盒做相应的运动;所述的全局和局部网格分辨率的 判定,实现分辨率的判定准则;所述的网格单元的拆分与合并,完成网格单元的拆分或合并 工作,当物体运动或视点发生变换时,视点与仿真空间的距离以及视点与物体之间的距离 将会发生变化,根据网格分辨率的判定的结果进行网格的拆分或合并;所述的云场景渲染, 完成Z5T场景的绘制工作,为提尚绘制效率基于GHJ进彳丁实现。
【附图说明】
[0006] 图1是本发明中的二维多分辨率活动网格示意图;
[0007] 图2是本发明中三维网格空间及单独的网格单元示意图;
[0008] 图3是本发明应用实例的网格分辨率变化示意图;
[0009] 图4是本发明应用实例的二维网格单元的拆分与合并示意图;
[0010] 图5是本发明应用实例的网格单元拆分或合并后的数据变换示意图;
[0011] 图6是本发明应用实例的仿真场景中交互物体运动后占用单元的变化示意图;
[0012] 图7是本发明应用实例的算法流程(一个时间步长的具体算法流程)。
【具体实施方式】
[0013] 下面结合附图和具体实现流程,就本发明提供的一种大规模云场景绘制方法做进 一步的说明。
[0014] 1.多分辨率活动网格的建立
[0015] 多尺度活动网格方法首先将整个仿真空间(包含待交互的物体)作为全局仿真空 间,该网格空间称为全局网格,网格空间均匀划分,图1为二维均匀网格空间及其参与交互 的物体。图中阴影区域表示待交互物体,右下角的物体是运动之后的效果,包围着物体的小 网格称为局部网格,具有不同的分辨率。仿真过程中全局网格和局部网格的分辨率可以发 生变化。在上方包围着物体的矩形框是该物体的最外层OBB包围盒。仿真空间全局网格和 局部网格具体选用哪个级别的分辨率根据视点与仿真空间以及物体之间距离决定。参与交 互的物体根据局部网格分辨率的判定原则在其边缘区域建立局部网格,该局部网格只在物 体边缘占用的全局网格单元上建立,如图1中的小网格所示。物体在仿真空间中可以自由 运动,不受速度的限制,其OBB包围盒作相应的运动。由于速度不受限制,拓展了方法的适 用范围,参与交互的物体可以是高速运动的物体。图2是三维情形,图中的阴影区域代表交 互的物体,右侧是一个独立的网格单元。
[0016] 2.为参与交互的物体建立OBB层次包围盒
[0017] -个给定对象的OBB包围盒可定义为包含该对象且相对于坐标轴方向任意的最 小长方体。OBB包围盒的最大特点是方向的任意性,使得它可以根据被包围对象的形状特点 尽可能紧密地包围对象。在进行物体之间相交检测时,可以采用OBB包围盒树来快速排除 明显不相交的物体。本发明引入OBB包围盒的目的就缘于此,利用它来快速进行参与交互 的物体跟网格单元之间的相交测试。
[0018] 3.判定全局和局部网格的分辨率
[0019] 具体采用哪个层级的全局和局部网格分辨率,由视点距离仿真空间的中心位置以 及视点距离参与交互物体的中心位置决定。仿真空间的中心位置容易得知,将每个物体最 顶层OBB包围盒的中心作为物体的中心位置,可以重复使用前面计算得到的数据,减少计 算量,如图3所示。
[0020] 当视点与仿真空间中心距离d发生变化时,为更多或更少地显示云场景的细节, 需要调整全局网格的分辨率。当网格投影到屏幕上时,宽度为h的网格单元对应着(h*e)/ d个像素,其中e是常量,由相机的参数决定。当(h?〇/(!= 1时,即对应一个像素即可满 足需要,如果比1更小即低于1个像素时,具有这样特征的信息在屏幕上是显示不出来的。 由此,当视点距离仿真空间中心距离d发生变化时,最终投影到屏幕上的网格单元基本保 持占用一个像素大小。
[0021] 初始时已知屏幕分辨率和显示屏幕的大小可以确定一个像素的大小宽度。此时, 由(h?eVd= 1可知,设hmax为最高分辨率时的网格单元大小,仿真空间确定后,此值固定, d_为此时的视点到仿真空间中心的距离,则d_=h_ ?e,令:
[0022]
【主权项】
1. 一种大规模云场景绘制方法,其特征在于,包括: (51) 多分辨率活动网格的建立; (52) 为参与交互的物体建立OBB层次包围盒; (53) 全局和局部网格分辨率的判定; (54) 网格单元的拆分与合并; (55) 基于GPU进行云场景的擅染。
2. 根据权利要求1所述的大规模云场景绘制方法,其特征在于,所述步骤(S1)的多分 辨率活动网格的建立通过W下步骤得到: (511) 均匀剖分整个仿真空间为全局网格; (512) 在参与交互的物体边界建立相应的网格空间作为局部网格。
3. 根据权利要求1所述的大规模云场景绘制方法,其特征在于,所述步骤(S4)的网格 单元的拆分与合并通过W下步骤得到: (541) 根据网格分辨率的判定原则,确定网格是拆分还是合并; (542) 从原点出发沿着每个坐标轴,按照一拆八或八合一的原则拆分或合并全局网格 单元; (543) 沿着物体所占用的边缘网格,按照一拆八或八合一的原则拆分或合并局部网格 单元; (544) 进行拆分或合并后的数据处理。
4. 根据权利要求3所述的大规模云场景绘制方法,其特征在于,所述步骤(S44)的网格 单元拆分或合并后的数据处理过程如下: (S44-1)根据层次包围盒与网格单元相交测试方法判定物体跟全局网格之间新的占用 和未占用单元; (S44-2)从占用区域的边缘出发,由外及内的顺序,如由占用变为未占用状态,网格单 元上的数据由其周围未占用的网格单元上的数据插值确定,将单元的占用标志变量设置为 未占用; (S44-3)如网格单元是由未占用变为占用状态,只将单元的占用标志变量设置为未占 用; (S44-4)对拆分或合并后形成的局部网格的小单元,再次确定其占用和未占用状态,当 有多个物体参与交互时,确保不会发生重叠。
【专利摘要】本发明公开了一种大规模云场景的绘制方法,可应用于视景仿真领域,对大规模云场景的仿真采用多分辨率活动网格的方法进行建模;为仿真场景中参与交互的物体建立OBB层次包围盒,并根据视点与仿真空间中心的距离以及与待交互物体的距离自动调整全局与局部网格的分辨率,最后实现大规模云场景的实时绘制。通过应用本发明,可以自适应调整仿真空间的网格分辨率,较真实地绘制不同时段的云场景,在有多个刚体参与交互的情况下,可以实现大规模云场景的实时绘制,提高仿真的效率以及实时交互过程中的真实感和沉浸感。
【IPC分类】G06T15-00, G06T17-00
【公开号】CN104574490
【申请号】CN201410850270
【发明人】张立民, 范晓磊, 钟兆根, 张兵强, 林洪文
【申请人】中国人民解放军海军航空工程学院
【公开日】2015年4月29日
【申请日】2014年12月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1