[發(fā)明專利]在Unity3d中快速點云繪制的方法有效
| 申請?zhí)枺?/td> | 202110045882.3 | 申請日: | 2021-01-14 |
| 公開(公告)號: | CN112381705B | 公開(公告)日: | 2021-03-26 |
| 發(fā)明(設計)人: | 楊歡;陳誠;張旸 | 申請(專利權)人: | 奧特酷智能科技(南京)有限公司 |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20;G06T17/00 |
| 代理公司: | 南京行高知識產(chǎn)權代理有限公司 32404 | 代理人: | 李曉 |
| 地址: | 211800 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | unity3d 快速 繪制 方法 | ||
本發(fā)明涉及一種在Unity3d中快速點云繪制的方法,包括以下步驟:點云數(shù)據(jù)C中每一個數(shù)據(jù)點生成四個頂點坐標以及與四個頂點坐標一一對應的四個UV數(shù)據(jù),獲取當前攝像機的位置Pc;將生成的數(shù)據(jù)傳輸至GPU,將每一個數(shù)據(jù)點對應的四邊形Q中的四個頂點坐標分配到不同的GPU線程中進行計算,在計算某一個數(shù)據(jù)點時,計算攝像機位置Pc和該數(shù)據(jù)點的坐標P的距離,若大于設定的閾值,則將四個頂點擴展形成一個正方形后傳入GPU的光柵化流水線,否則刪除該數(shù)據(jù)點。本發(fā)明利用GPU硬件可編程架構下實現(xiàn)點云繪制的方法,可以實現(xiàn)更加快速地繪制點云數(shù)據(jù)的目的。
技術領域
本發(fā)明涉及一種在Unity3d中快速點云繪制的方法,屬于自動駕駛技術領域。
背景技術
點云是某個坐標系下一些數(shù)據(jù)點的數(shù)據(jù)集,數(shù)據(jù)點包含了豐富的信息,包括三維坐標(X,Y,Z)、顏色、分類值、強度值、時間等等。點云常用來描述三維場景,其產(chǎn)生途徑也多種多樣,其中激光雷達點云,由激光雷達掃描后處理產(chǎn)生,在自動駕駛領域和遙控遙測領域中均有著重要的作用,可以用來生成自動駕駛的高精度地圖等,所以快速高效正確的渲染點云數(shù)據(jù)就顯得尤為重要。
在自動駕駛領域和遙控遙測以及農業(yè)考古等諸多領域,Unity3d作為全能的開發(fā)工具也已經(jīng)被越來越多的運用,雖然Unity3d中已經(jīng)提供了幾種用來繪制點云的方式和方法,但是由于這些方法都需要在CPU中完成大量的計算工作,導致在配備主流GPU硬件的計算機中,GPU資源閑置,云算力浪費,繪制效率低下。
發(fā)明內容
本發(fā)明要解決的技術問題是:提供一種能充分利用GPU硬件資源、運行效率高的快速繪制點云的方法。
為了解決上述技術問題,本發(fā)明提出的技術方案是:一種在Unity3d中快速點云繪制的方法,包括以下步驟:
步驟一、獲取需要顯示的點云數(shù)據(jù)C,所述點云數(shù)據(jù)C中包含N個數(shù)據(jù)點,每一個數(shù)據(jù)點生成四個頂點坐標以及與四個頂點坐標一一對應的四個UV數(shù)據(jù),其中四個頂點坐標都填充為該數(shù)據(jù)點在空間中的坐標P,四個UV數(shù)據(jù)分別填充為(0,0)、(0,1)、(1,0)、(1,1);然后獲取當前攝像機的位置Pc;
步驟二、將步驟一中生成的每一個數(shù)據(jù)點的頂點坐標以及UV數(shù)據(jù)傳輸至GPU,將預設的數(shù)據(jù)點繪制大小S作為參數(shù)設置到GPU中;
步驟三、GPU將每一個數(shù)據(jù)點對應的四邊形Q中的四個頂點坐標分配到不同的GPU線程中進行計算,在計算某一個數(shù)據(jù)點時,首先計算攝像機位置Pc和該數(shù)據(jù)點的坐標P的距離,若距離大于設定的閾值,則將該數(shù)據(jù)點刪除不再顯示;
如果攝像機位置Pc和該數(shù)據(jù)點坐標P的距離小于或等于設定的閾值,則根據(jù)該數(shù)據(jù)點的四個頂點對應的UV數(shù)據(jù),將四個頂點擴展形成一個邊長為S的平面正方形,將擴展以后的四個頂點坐標變換到投影空間后傳入GPU的光柵化流水線。
傳統(tǒng)Unity3d渲染點云方法中,點云數(shù)據(jù)中所有的數(shù)據(jù)點的坐標變換計算都需要在CPU中完成,而這部分計算往往需要消耗掉大量的CPU運算時間,而且在這段時間內,GPU是完全空閑的,需要等待CPU將計算完畢后的數(shù)據(jù)傳輸至GPU端,GPU才能將其送至顯示,這對GPU強大的計算性能無疑是一種浪費,而本發(fā)明中,CPU只需要將初始數(shù)據(jù)和參數(shù)發(fā)送至GPU端,絕大多數(shù)數(shù)據(jù)點的計算工作都在GPU上利用多線程方式高效的完成,從而將GPU空閑的時間大大縮短,提高了整體的繪制效率.
本發(fā)明利用GPU硬件可編程架構下實現(xiàn)點云繪制的方法,能充分利用GPU硬件資源,令CPU和GPU協(xié)同工作,達到較高的運行效率,以實現(xiàn)在Unity3d中更加快速地繪制點云數(shù)據(jù)的目的。
附圖說明
下面結合附圖對本發(fā)明作進一步說明。
圖1是本發(fā)明方法與傳統(tǒng)點云繪制方法的區(qū)別。
圖2是四個頂點擴展形成一個邊長為S的正方形的原理示意圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奧特酷智能科技(南京)有限公司,未經(jīng)奧特酷智能科技(南京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110045882.3/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





