三維視景仿真gis地理信息系統(tǒng)中的地形陰影實時仿真方法
【專利摘要】本發(fā)明歸屬GIS地理信息、三維視景仿真技術領域,在三維仿真視景中生成山脈峽谷的實時動態(tài)陰影,用光影效果顯示出地形的高低起伏。本發(fā)明用C++語言編程,經過以下步驟生成陰影:(1)加載衛(wèi)星影像、數字高程等數據;(2)將視口中的數字高程數據切分為N個瓦片,每個瓦片由256X256個頂點組成;然后計算每個頂點的法線矢量,用法線矢量計算各點RGB值,并組合成為法線圖;然后將N個法線圖,拼合成為一張法線貼圖;(3)由法線貼圖、光源矢量、視點矢量,計算陰影的參數,進行圖層調色和Shader渲染,生成陰影貼圖;(4)將陰影貼圖與其它圖層進行融合,從而在三維仿真視景上顯示出實時動態(tài)陰影。摘要附圖1,比較了加載實時地形陰影前后的海南省三維仿真視景效果。
【專利說明】
三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法
技術領域
[0001]本發(fā)明歸屬GIS地理信息技術領域、三維視景仿真技術領域,適用于GIS地理信息系統(tǒng)、空間規(guī)劃、模擬演練、作戰(zhàn)指揮、虛擬漫游展示、娛樂游戲等業(yè)務。
【背景技術】
[0002]GIS地理信息系統(tǒng)(Geographic Informat1n System)是在計算機硬件、軟件的支持下,對整個或部分地球表層空間中的地理數據進行采集、儲存、管理、運算、分析、顯示、描述、綜合利用的技術系統(tǒng)。
[0003]三維視景仿真技術是21世紀最有前途的高新科技之一,它結合計算機技術、圖形圖像技術、控制技術等多個學科,對現實世界或者虛擬世界進行三維建模并在三維場景中實時驅動顯示,從而延伸人類感覺器官。在三維視景中,使用高程數據、衛(wèi)星影像、矢量地理數據的GIS地理信息系統(tǒng),能夠直觀地展示地理位置、地形地貌、土壤水文、植被建筑、河流山脈、行政區(qū)劃等地理信息,并且,用戶可以自由地操控、漫游、分析。
[0004]本發(fā)明所涉及的三維視景仿真GIS地理信息系統(tǒng),使用三維視景仿真技術實現GIS地理信息系統(tǒng),主要基于OpenGL和OpenSceneGraph(簡稱0SG)技術。OpenGL技術為圖形元素(多邊形、線、點……)和狀態(tài)(光照、材質、陰影……)的編程提供了標準化的接口。OSG是一套基于OpenGL技術、用C++語言實現的應用程序接口(API),它將三維場景定義為三維空間中一系列對象,通過狀態(tài)轉化、繪圖管理和自定制等操作,讓程序員能夠更加便捷地創(chuàng)建高性能、跨平臺、功能完善的交互式三維地形展示系統(tǒng)。
【發(fā)明內容】
[0005]在真實世界中,地形高低起伏導致的地面陰影是隨著太陽升降而動態(tài)變化的。同樣,隨著時間的推移,三維仿真視景中的仿真太陽不斷地升起降落,需要在三維仿真視景中真實地呈現地面陰影,尤其是山脈、峽谷的光影效果。在三維仿真視景中,可以載入衛(wèi)星影像顯示出地形地貌、可以載入高程數據顯示出地形的高低起伏,但是地形高低起伏引起的地形陰影,卻需要特別地進行計算處理。
[0006]本發(fā)明是一種對GIS地理信息的深度利用方法。本發(fā)明在三維仿真視景中生成光影效果,用地形陰影直觀地描述地形凹凸、山脈峽谷等地形地貌。本發(fā)明解決其技術難題所采用的技術方案是:將視口中的數字高程數據切分為N個瓦片,每個瓦片由256X256個頂點組成;然后計算每個頂點的法線矢量,用法線矢量計算各點RGB值,并組合成為一張256x256大小的法線圖;然后將N個瓦片對應的法線圖,拼合成為一張法線貼圖;由法線貼圖、光源矢量、視點矢量,計算陰影的參數,經過圖層調色和Shader渲染,生成陰影貼圖;將陰影貼圖與衛(wèi)星影像等圖層進行圖層融合,從而在三維視景中顯示出實時動態(tài)陰影。
[0007]本發(fā)明的有益效應是:在三維仿真視景中,生成山脈、峽谷的實時動態(tài)陰影。仿真效果與真實世界中的時間同步、光照同步、陰影效果一致。也就是說,在三維仿真視景中,太陽的位置與運轉規(guī)律,與真實世界中的太陽月球完全同步;太陽光照的角度和位置與真實世界完全同步;太陽光照引起的陰影角度與形態(tài),與真實世界相一致。
[0008]對于三維視景仿真中的實時地形陰影,以前沒有一種真正意義上的高精度生成方法。本發(fā)明解決了長期以來存在的一個技術難題。本發(fā)明所實現的實時動態(tài)陰影,占用極少量的CPU計算資源、大約4MB內存空間,對渲染幀率沒有影響。
【附圖說明】
[0009]圖1?圖3,對比了全球、海南省、北京地區(qū)加載地形陰影之前、加載地形陰影之后的三維仿真視景效果。圖1對比了加載實時地形陰影之前(該圖上半部分)與之后(該圖下半部分)的全球三維仿真視景效果。圖2對比了加載實時地形陰影之前(該圖上半部分)與之后(該圖下半部分)的海南省三維仿真視景效果。圖3對比了加載實時地形陰影之前(該圖上半部分)與之后(該圖下半部分)的北京地區(qū)三維仿真視景效果。
【具體實施方式】
[0010]本發(fā)明需要在計算機上,運用C++語言編寫程序,在三維仿真視景中實現動態(tài)陰影效果。包括以下四個步驟:
[0011](I)數據加載:加載衛(wèi)星影像、數字高程、視點位置、太陽位置、系統(tǒng)時鐘等數據;
[0012](2)生成法線貼圖:依據地理數據中的數字高程數據,生成法線貼圖;
[0013](3)陰影渲染:由法線貼圖、光源矢量、視點矢量,計算陰影的參數,進行圖層調色和Shader渲染,生成陰影貼圖;
[0014](4)圖層融合:將陰影貼圖與其它圖層進行融合,從而在三維仿真視景上顯示出陰影。
【主權項】
1.三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,是一種對GIS地理信息的深度利用方法,本發(fā)明在三維仿真視景中生成光影效果,用地形陰影直觀地描述地形凹凸、山脈峽谷等地形地貌。本發(fā)明將視口中的數字高程數據切分為N個瓦片,每個瓦片由256X256個頂點組成;計算每個頂點的法線矢量,用法線矢量計算各點RGB值,然后組合成為一張256x256大小的法線圖;N個瓦片對應的法線圖,拼合成為一張法線貼圖;由法線貼圖、光源矢量、視點矢量,計算陰影的參數,經過圖層調色和Shader渲染,生成陰影貼圖;將陰影貼圖與衛(wèi)星影像等圖層進行圖層融合,從而在三維視景中顯示出實時動態(tài)陰影。2.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,在三維仿真視景中,生成地形凹凸、山脈峽谷的實時動態(tài)陰影。3.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,仿真效果與真實世界中的時間同步、光照同步、陰影效果一致,也就是說,在三維仿真視景中,太陽月球的位置與運轉規(guī)律,與真實世界中的太陽月球完全同步;太陽光照的角度和位置與真實世界完全同步;太陽光照引起的陰影角度與形態(tài),與真實世界相一致。4.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,本發(fā)明將視口中的數字高程數據切分為N個瓦片,每個瓦片由256X256個頂點組成,然后計算每個頂點的法線矢量,用法線矢量計算各點RGB值,然后組合成為一張256x256大小的法線圖。5.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,N個瓦片對應的法線圖,拼合成為一張法線貼圖。6.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,由法線貼圖、光源矢量、視點矢量,計算陰影的參數,經過圖層調色和Shader渲染,生成陰影貼圖。7.根據權利要求1所述的三維視景仿真GIS地理信息系統(tǒng)中的地形陰影實時仿真方法,其特征在于,將陰影貼圖與衛(wèi)星影像等圖層進行圖層融合,從而在三維仿真視景中顯示出實時動態(tài)陰影。
【文檔編號】G06T15/60GK105931286SQ201610206882
【公開日】2016年9月7日
【申請日】2016年3月29日
【發(fā)明人】趙岳生
【申請人】趙岳生