三维视景仿真gis地理信息系统中的地形阴影实时仿真方法
【专利摘要】本发明归属GIS地理信息、三维视景仿真技术领域,在三维仿真视景中生成山脉峡谷的实时动态阴影,用光影效果显示出地形的高低起伏。本发明用C++语言编程,经过以下步骤生成阴影:(1)加载卫星影像、数字高程等数据;(2)将视口中的数字高程数据切分为N个瓦片,每个瓦片由256X256个顶点组成;然后计算每个顶点的法线矢量,用法线矢量计算各点RGB值,并组合成为法线图;然后将N个法线图,拼合成为一张法线贴图;(3)由法线贴图、光源矢量、视点矢量,计算阴影的参数,进行图层调色和Shader渲染,生成阴影贴图;(4)将阴影贴图与其它图层进行融合,从而在三维仿真视景上显示出实时动态阴影。摘要附图1,比较了加载实时地形阴影前后的海南省三维仿真视景效果。
【专利说明】
三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法
技术领域
[0001]本发明归属GIS地理信息技术领域、三维视景仿真技术领域,适用于GIS地理信息系统、空间规划、模拟演练、作战指挥、虚拟漫游展示、娱乐游戏等业务。
【背景技术】
[0002]GIS地理信息系统(Geographic Informat1n System)是在计算机硬件、软件的支持下,对整个或部分地球表层空间中的地理数据进行采集、储存、管理、运算、分析、显示、描述、综合利用的技术系统。
[0003]三维视景仿真技术是21世纪最有前途的高新科技之一,它结合计算机技术、图形图像技术、控制技术等多个学科,对现实世界或者虚拟世界进行三维建模并在三维场景中实时驱动显示,从而延伸人类感觉器官。在三维视景中,使用高程数据、卫星影像、矢量地理数据的GIS地理信息系统,能够直观地展示地理位置、地形地貌、土壤水文、植被建筑、河流山脉、行政区划等地理信息,并且,用户可以自由地操控、漫游、分析。
[0004]本发明所涉及的三维视景仿真GIS地理信息系统,使用三维视景仿真技术实现GIS地理信息系统,主要基于OpenGL和OpenSceneGraph(简称0SG)技术。OpenGL技术为图形元素(多边形、线、点……)和状态(光照、材质、阴影……)的编程提供了标准化的接口。OSG是一套基于OpenGL技术、用C++语言实现的应用程序接口(API),它将三维场景定义为三维空间中一系列对象,通过状态转化、绘图管理和自定制等操作,让程序员能够更加便捷地创建高性能、跨平台、功能完善的交互式三维地形展示系统。
【发明内容】
[0005]在真实世界中,地形高低起伏导致的地面阴影是随着太阳升降而动态变化的。同样,随着时间的推移,三维仿真视景中的仿真太阳不断地升起降落,需要在三维仿真视景中真实地呈现地面阴影,尤其是山脉、峡谷的光影效果。在三维仿真视景中,可以载入卫星影像显示出地形地貌、可以载入高程数据显示出地形的高低起伏,但是地形高低起伏引起的地形阴影,却需要特别地进行计算处理。
[0006]本发明是一种对GIS地理信息的深度利用方法。本发明在三维仿真视景中生成光影效果,用地形阴影直观地描述地形凹凸、山脉峡谷等地形地貌。本发明解决其技术难题所采用的技术方案是:将视口中的数字高程数据切分为N个瓦片,每个瓦片由256X256个顶点组成;然后计算每个顶点的法线矢量,用法线矢量计算各点RGB值,并组合成为一张256x256大小的法线图;然后将N个瓦片对应的法线图,拼合成为一张法线贴图;由法线贴图、光源矢量、视点矢量,计算阴影的参数,经过图层调色和Shader渲染,生成阴影贴图;将阴影贴图与卫星影像等图层进行图层融合,从而在三维视景中显示出实时动态阴影。
[0007]本发明的有益效应是:在三维仿真视景中,生成山脉、峡谷的实时动态阴影。仿真效果与真实世界中的时间同步、光照同步、阴影效果一致。也就是说,在三维仿真视景中,太阳的位置与运转规律,与真实世界中的太阳月球完全同步;太阳光照的角度和位置与真实世界完全同步;太阳光照引起的阴影角度与形态,与真实世界相一致。
[0008]对于三维视景仿真中的实时地形阴影,以前没有一种真正意义上的高精度生成方法。本发明解决了长期以来存在的一个技术难题。本发明所实现的实时动态阴影,占用极少量的CPU计算资源、大约4MB内存空间,对渲染帧率没有影响。
【附图说明】
[0009]图1?图3,对比了全球、海南省、北京地区加载地形阴影之前、加载地形阴影之后的三维仿真视景效果。图1对比了加载实时地形阴影之前(该图上半部分)与之后(该图下半部分)的全球三维仿真视景效果。图2对比了加载实时地形阴影之前(该图上半部分)与之后(该图下半部分)的海南省三维仿真视景效果。图3对比了加载实时地形阴影之前(该图上半部分)与之后(该图下半部分)的北京地区三维仿真视景效果。
【具体实施方式】
[0010]本发明需要在计算机上,运用C++语言编写程序,在三维仿真视景中实现动态阴影效果。包括以下四个步骤:
[0011](I)数据加载:加载卫星影像、数字高程、视点位置、太阳位置、系统时钟等数据;
[0012](2)生成法线贴图:依据地理数据中的数字高程数据,生成法线贴图;
[0013](3)阴影渲染:由法线贴图、光源矢量、视点矢量,计算阴影的参数,进行图层调色和Shader渲染,生成阴影贴图;
[0014](4)图层融合:将阴影贴图与其它图层进行融合,从而在三维仿真视景上显示出阴影。
【主权项】
1.三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,是一种对GIS地理信息的深度利用方法,本发明在三维仿真视景中生成光影效果,用地形阴影直观地描述地形凹凸、山脉峡谷等地形地貌。本发明将视口中的数字高程数据切分为N个瓦片,每个瓦片由256X256个顶点组成;计算每个顶点的法线矢量,用法线矢量计算各点RGB值,然后组合成为一张256x256大小的法线图;N个瓦片对应的法线图,拼合成为一张法线贴图;由法线贴图、光源矢量、视点矢量,计算阴影的参数,经过图层调色和Shader渲染,生成阴影贴图;将阴影贴图与卫星影像等图层进行图层融合,从而在三维视景中显示出实时动态阴影。2.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,在三维仿真视景中,生成地形凹凸、山脉峡谷的实时动态阴影。3.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,仿真效果与真实世界中的时间同步、光照同步、阴影效果一致,也就是说,在三维仿真视景中,太阳月球的位置与运转规律,与真实世界中的太阳月球完全同步;太阳光照的角度和位置与真实世界完全同步;太阳光照引起的阴影角度与形态,与真实世界相一致。4.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,本发明将视口中的数字高程数据切分为N个瓦片,每个瓦片由256X256个顶点组成,然后计算每个顶点的法线矢量,用法线矢量计算各点RGB值,然后组合成为一张256x256大小的法线图。5.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,N个瓦片对应的法线图,拼合成为一张法线贴图。6.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,由法线贴图、光源矢量、视点矢量,计算阴影的参数,经过图层调色和Shader渲染,生成阴影贴图。7.根据权利要求1所述的三维视景仿真GIS地理信息系统中的地形阴影实时仿真方法,其特征在于,将阴影贴图与卫星影像等图层进行图层融合,从而在三维仿真视景中显示出实时动态阴影。
【文档编号】G06T15/60GK105931286SQ201610206882
【公开日】2016年9月7日
【申请日】2016年3月29日
【发明人】赵岳生
【申请人】赵岳生