[發明專利]一種基于GPU的渲染地形的方法有效
| 申請號: | 201110325143.6 | 申請日: | 2011-10-24 |
| 公開(公告)號: | CN102890829A | 公開(公告)日: | 2013-01-23 |
| 發明(設計)人: | 齊成濤 | 申請(專利權)人: | 克拉瑪依紅有軟件有限責任公司 |
| 主分類號: | G06T17/05 | 分類號: | G06T17/05;G06T15/04 |
| 代理公司: | 北京市盛峰律師事務所 11337 | 代理人: | 趙建剛 |
| 地址: | 834000 新疆維*** | 國省代碼: | 新疆;65 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gpu 渲染 地形 方法 | ||
技術領域
本發明涉及計算機圖形學領域,特別是涉及一種基于GPU的GeometryClipmap渲染地形的方法。?
背景技術
隨著信息技術的快速發展,大規模復雜場景的實時漫游技術變得日趨重要。利用計算機技術,以三維可視化的形式將海量場景數據表現出來是一個發展的必然趨勢,但相對于凌亂的文字數據,采用三維場景形式展示給用戶的信息量非常巨大。傳統大規模場景渲染算法的實現通常要在CPU上進行復雜的數據分塊、復雜的數據結構維護以及復雜的精細層次篩選計算等操作,導致了計算負擔比較重。而龐大的數據存取和龐大數據的渲染是導致計算負擔較重的兩個因素。?
1)龐大的數據存取?
無限大的場景模擬需要海量的場景數據。一個典型的大規模場景渲染實例就是室外地形的渲染,地形數據的大小又決定了場景的大小,因此如何保存這些地下數據成了首要的問題。由于數據量龐大,這些數據還不能全部存放在計算機內存中,為了降低渲染計算機硬件的要求,數據平時要放在硬盤中。因此,在算法上就需要一種預取和釋放的策略,盡量減少系統內存性能的受影響程度。?
2)龐大數據的渲染?
當實時漫游大區域地形時,視野很多情況下都是無限的,而無限的視野就意味著要渲染無限的圖元,對于現有的計算機資源是不可能實現的。圖元數量是以場景大小平方的速度增長,只考慮地形數據,一個2048x2048地形圖,如果不考慮減低細節程度和裁剪的話,它將要渲染8M的三角形,目前計算機配置很難實現交互式幀率。因此,減少要渲染地形的圖元數目是該領域解決的核心問題,在質量誤差范圍內,一切工作都是為了減少渲染數據量。?
為了解決海量數據存取和渲染的問題,常用的方法是將地形數據按照不同精細層次進行分塊,在內存中維護一個復雜的數據結構(通常是kd樹),然后當視點移動的時候,根據屏幕像素級別的誤差要求,在這棵樹中選取不同精細層次的數據,最后將不同精細層的地形塊拼接在一起。這種傳統的算法會造成CPU運算負荷過大,導致三維圖像顯示不連續。?
總之,現有的進行渲染地形的方法存在渲染地形的過程中運算復雜,速度慢的缺陷。?
因而,目前需要本領域技術人員迫切解決的一個技術問題就是:如何找到一種新型的快速的渲染地形的方法。?
發明內容
本發明所要解決的一個技術問題是提供一種基于GPU的GeometryClipmap渲染地形的方法,該方法是一種快速的渲染地形的方法,得到的三維圖像顯示連續。?
為了解決上述問題,本發明公開了一種基于GPU的GeometryClipmap渲染地形的方法,包括:?
對高程紋理數據進行組織,逐級排列的不同分辨率的高程紋理數據;?
根據頂點位置從相應層獲取高程紋理組織數據的高程值,獲得高程紋理組織數據的高程值;?
對過渡帶進行頂點高程數據的混合,獲得多過渡帶的高程混合數據;?
在像素著色器中計算法向量及細節紋理,獲得法向量及細節紋理;?
將圖像渲染到屏幕上,獲得在屏幕上顯示的圖像渲染效果;?
檢測視點是否更新,作出相應的操作。?
優選的,所述對高程紋理數據進行組織,逐級排列的不同分辨率的高程紋理數據的步驟,包括:?
獲取當前視點范圍內的高程紋理數據,得到當前視點范圍內的高程紋理數據;?
獲取不同分辨率的高程紋理數據,得到不同分辨率的高程紋理數據;?
將不同分辨率的高程紋理數據按照Clipmap的方式進行排列,獲得逐級排列的不同分辨率的高程紋理數據。?
優選的,所述對高程紋理數據進行組織的步驟,包括:?
對高程紋理數據的高度數據進行組織,獲得合成后的高程紋理數據的高度數據;?
對高程紋理數據的水平數據進行組織,獲得高程紋理數據的水平數據;?
對高程紋理數據的地形數據進行合并,獲得高程紋理數據的地形數據。?
優選的,所述對高程紋理數據的高度數據進行組織,獲得合成后的高程紋理數據的高度數據的步驟,包括:?
將高度紋理數據的高度數據進行創建,獲得32位float精度的紋理高度數據;?
將兩層紋理高度數據保存到一張紋理內并傳輸給GPU;?
將當前層的紋理高度數據保存為32位float精度的紋理高度數據的整數部分;?
將相鄰的下一層紋理高度數據保存為32位float精度的紋理高度數據的小數部分;?
對兩層紋理高度數據進行合成;?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于克拉瑪依紅有軟件有限責任公司,未經克拉瑪依紅有軟件有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110325143.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種雙滅火劑噴射槍及其方法
- 下一篇:高分辨率全組移動工業用攝像鏡頭





