[發明專利]基于GPU的地圖線形符號繪制方法及系統無效
| 申請號: | 201310125110.6 | 申請日: | 2013-04-11 |
| 公開(公告)號: | CN103268626A | 公開(公告)日: | 2013-08-28 |
| 發明(設計)人: | 楊建順 | 申請(專利權)人: | 江蘇省在這里數字科技有限公司 |
| 主分類號: | G06T15/00 | 分類號: | G06T15/00;G06T1/20 |
| 代理公司: | 江蘇致邦律師事務所 32230 | 代理人: | 樊文紅 |
| 地址: | 210042 江蘇省南京市玄武*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 gpu 地圖 線形 符號 繪制 方法 系統 | ||
?
技術領域
本發明涉及計算機圖形學中的三維可視化渲染技術以及地理信息系統(簡稱GIS)符號化技術,給出了一種基于OpenGL著色語言?(opengl?shader?language,GLSL),在三維可編程流水線模式下,繪制地圖線形符號的方法及系統。本發明利用GPU的高效運算能力,提高了地圖線形符號的渲染效率。
?
背景技術
隨著三維渲染技術的發展,圖形處理單元(Graphics?Processing?Unit,GPU)的使用極大加快了三維圖形實時渲染的效率和效果。事實證明在浮點運算、并行計算等部分與圖形渲染相關的計算方面,GPU可以提供數十倍乃至數百倍于CPU的性能。GLSL是用在OpenGL中著色編程的語言,也即開發人員寫的短小的自定義程序,他們是在圖形顯卡的GPU上執行的,代替了固定的渲染管線的一部分,稱之為可編程的流水管線。目前,在三維可編程流水線模式下,使用GPU加速渲染技術已經應用到很多行業領域中,但還沒有相關資料和技術使用Shader著色器語言對地圖線形符號(尤其是某些特殊的地圖線形符號)進行繪制的方法及系統。
在地圖符號化系統中,需要繪制一些有別于普通線形的專業化的特殊符號。在傳統的二維地理信息系統(簡稱2DGIS)中有著廣泛應用和成熟的符號表現,其主要表現手法是根據地圖符號化規范繪制一般的直線、虛線、斷點線(如國界線)、帶邊框的線(如道路線)、特殊符號線(如鐵路線)等。隨著3DGIS的發展,產生了在三維場景中繪制二維地圖線形符號的需求,其繪制方法主要有三類:(1)多次繪制,先進行底色的繪制,再繪制上層的虛線或其他線形;(2)構造可重復的線形符號圖片單元及具有一定寬度的線形三角網,使用貼圖紋理映射的方法繪制地圖線型符號;(3)直接通過建模方式構造符號模型,在三維場景中渲染。以上三種方式要么需要繪制多次,要么需要紋理貼圖,并且也不能充分利用GPU渲染技術,而導致消耗系統資源多但繪制效率低等不足。
?
發明內容
本發明所解決的技術問題是:克服現有技術在三維場景中繪制地圖線形符號對資源和效率造成的浪費和不足,提供基于GPU的地圖線形符號繪制方法及系統,基于GLSL編寫的頂點著色器(Vertex?Shader)和片段著色器(Fragment?Shader)代碼,對地圖線形符號進行繪制,其充分利用GPU的高效計算能力,實現簡單,參數可調,方便程序員的開發和擴展。
本發明所采用的技術方案是,基于GPU的地圖線形符號繪制方法,在可編程流水線體系下,使用著色器語言繪制地圖線形符號,該方法創建了繪制的通用步驟,包括:
步驟1?構建頂點數組緩存對象模型:根據線形中心線按半線寬作緩沖區,每個頂點除包含必要的xyz三維坐標屬性外,還包含該頂點在整條緩沖帶上橫向和縱向坐標關系參數uv,其中該頂點距離線形起點的長度屬性u,以及頂點到線形中央線的距離屬性v;
步驟2?建立頂點著色器(Vertex?Shader)模型:在頂點著色器(Vertex?Shader)中傳入頂點的xyz及uv屬性,并將所述頂點的uv屬性作為可變變量傳入GPU,在GPU中進行uv屬性的柵格化插值,插值結果輸出至片段著色器(Fragment?Shader);
步驟3?建立片段著色器(Fragment?Shader)模型:根據不同線形符號化的要求,建立相應的片段著色與uv值之間的關系函數getColorByUV,該函數利用GPU計算每一個片段的顏色值,以實現對地圖線形符號每一個像素的繪制。
在實際的應用過程中,繪制地圖線形符號的步驟還包括:
步驟4?根據步驟1所述的頂點數組緩存對象模型創建頂點緩存數組(vertex?Buffer?Object,簡稱VBO)并綁定到顯存GPU中;
步驟5?根據步驟2所述的頂點著色器模型建立并編譯頂點著色器,根據步驟3的片段著色器模型建立并編譯片段著色器;
步驟6?創建并鏈接可編程流水線(Program);
步驟7?在三維繪制函數中啟用該Program,并綁定步驟4創建的VBO傳入頂點屬性(attribute)變量,設置Vertex?Shader和Fragment?Shader需要用到的全局(uniform)變量;
步驟8?調用三維繪制函數進行地圖線形符號繪制。
實現本發明目的的另一個技術方案是:基于GPU的地圖線形符號繪制系統,在可編程流水線體系下,使用著色器語言(Shader?Language)繪制地圖線形符號,該系統中設有繪制的通用模型,繪制模型中設有:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇省在這里數字科技有限公司,未經江蘇省在這里數字科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310125110.6/2.html,轉載請聲明來源鉆瓜專利網。





