[發明專利]一種基于GPU的渲染地形的方法有效
| 申請號: | 201110325143.6 | 申請日: | 2011-10-24 |
| 公開(公告)號: | CN102890829A | 公開(公告)日: | 2013-01-23 |
| 發明(設計)人: | 齊成濤 | 申請(專利權)人: | 克拉瑪依紅有軟件有限責任公司 |
| 主分類號: | G06T17/05 | 分類號: | G06T17/05;G06T15/04 |
| 代理公司: | 北京市盛峰律師事務所 11337 | 代理人: | 趙建剛 |
| 地址: | 834000 新疆維*** | 國省代碼: | 新疆;65 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gpu 渲染 地形 方法 | ||
1.一種基于GPU的GeometryClipmap渲染地形的方法,其特征在于,包括:
對高程紋理數據進行組織,逐級排列的不同分辨率的高程紋理數據;
根據頂點位置從相應層獲取高程紋理組織數據的高程值,獲得高程紋理組織數據的高程值;
對過渡帶進行頂點高程數據的混合,獲得多過渡帶的高程混合數據;
在像素著色器中計算法向量及細節紋理,獲得法向量及細節紋理;
將圖像渲染到屏幕上,獲得在屏幕上顯示的圖像渲染效果;
檢測視點是否更新,作出相應的操作。
2.如權利要求1所述的方法,其特征在于,所述對高程紋理數據進行組織,逐級排列的不同分辨率的高程紋理數據的步驟,包括:
獲取當前視點范圍內的高程紋理數據,得到當前視點范圍內的高程紋理數據;
獲取不同分辨率的高程紋理數據,得到不同分辨率的高程紋理數據;
將不同分辨率的高程紋理數據按照Clipmap的方式進行排列,獲得逐級排列的不同分辨率的高程紋理數據。
3.如權利要求1所述的方法,其特征在于,所述對高程紋理數據進行組織的步驟,包括:
對高程紋理數據的高度數據進行組織,獲得合成后的高程紋理數據的高度數據;
對高程紋理數據的水平數據進行組織,獲得高程紋理數據的水平數據;
對高程紋理數據的地形數據進行合并,獲得高程紋理數據的地形數據。
4.如權利要求3所述的方法,其特征在于,所述對高程紋理數據的高度數據進行組織,獲得合成后的高程紋理數據的高度數據的步驟,包括:
將高度紋理數據的高度數據進行創建,獲得32位float精度的紋理高度數據;
將兩層紋理高度數據保存到一張紋理內并傳輸給GPU;
將當前層的紋理高度數據保存為32位float精度的紋理高度數據的整數部分;
將相鄰的下一層紋理高度數據保存為32位float精度的紋理高度數據的小數部分;
對兩層紋理高度數據進行合成;
采用公式I來對兩層紋理高度數據進行計算,獲得合成后的高程紋理數據的高度數據;
Vdest(u,v)=VLevelN(u,v)+VLevelN+1(u,v)*0.001(I)
其中,Vdest(u,v)是合成后的紋理高度數據,VLevelN(u,v)是相對精細層的紋理高度數據,VLevelN+1(u,v)是相對粗糙層的紋理高度數據。
5.如權利要求3所述的方法,其特征在于,所述對高程紋理數據的地形數據進行合并,獲得高程紋理數據的地形數據的步驟,包括:
利用高度數據創建創建FMT_R32紋理,獲得紋理數據;
將紋理數據傳入Vertex?Shader的常量表;
把高度Z數據傳進GPU,獲得GPU內的一維高度Z數據;
x、y二維數據通過頂點緩沖方式傳輸進GPU,獲得GPU內的x、y二維數據;
將上述GPU內的一維高度Z數據及GPU內的x、y二維數據合成,獲得高程紋理數據的地形數據。
6.如權利要求1所述的方法,其特征在于,所述檢測視點是否更新,作出相應的操作的步驟,包括:
檢測視點是否更新,獲得視點是否更新的分析結果;
若分析結果是視點已經進行了更新,則執行視點更新的相應操作;
若分析結果是視點沒有進行更新,則接收算法結束請求指令,完成對地形進行渲染的全過程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于克拉瑪依紅有軟件有限責任公司,未經克拉瑪依紅有軟件有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110325143.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種雙滅火劑噴射槍及其方法
- 下一篇:高分辨率全組移動工業用攝像鏡頭





