[發明專利]一種基于OpenCL的Unity3D渲染加速方法在審
| 申請號: | 201910262194.5 | 申請日: | 2019-04-02 |
| 公開(公告)號: | CN110070597A | 公開(公告)日: | 2019-07-30 |
| 發明(設計)人: | 喻斌 | 申請(專利權)人: | 同濟大學 |
| 主分類號: | G06T15/60 | 分類號: | G06T15/60;G06T7/50;G06T1/20;G06F12/0877 |
| 代理公司: | 上海科盛知識產權代理有限公司 31225 | 代理人: | 宣慧蘭 |
| 地址: | 200092 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 渲染 場景數據 內核函數 工作項 設備端 加載 圖像 像素點信息 并行計算 全局內存 同步執行 并行化 像素點 主機端 映射 優化 運算 傳輸 更新 保證 | ||
本發明涉及一種基于OpenCL的Unity3D渲染加速方法,包括:S1、在渲染過程的主機端加載場景數據,將場景數據傳輸到OpenCL設備端;S2、將圖像中的像素點映射到OpenCL的工作項中;S3、為OpenCL設備端加載計算任務;S4、利用所有OpenCL的工作項同步執行內核函數,實現對Unity3D渲染過程的并行計算優化;S5、將內核函數的計算結果寫回到全局內存空間中,完成圖像中的每個像素點信息的更新;S6、完成后續渲染過程。與現有技術相比,本發明實現了對Unity3D渲染過程的并行化優化加速,減少了Unity 3D在渲染過程中的計算負擔,在保證渲染質量的前提下,運算速度加快了近10倍。
技術領域
本發明涉及OpenCL并行計算領域,尤其是涉及一種基于OpenCL的Unity3D渲染加速方法。
背景技術
隨著信息時代的發展,人們面對的數據量越來越龐大,對計算性能的需求也隨之急劇地增加。過去的計算性能的提升主要靠提高處理器頻率或是增加處理器的核心數,然而,在CPU上進行的串行計算目前已經達到了計算效率的瓶頸,即使是多核CPU也難以滿足當今的計算需求。而GPU從最初的只用于圖形處理的處理器已經發展成了可以編程的計算平臺,其具有更強的浮點計算能力和并行計算能力。GPU平臺中的OpenCL并行計算框架就在這一背景下得到人們的廣泛關注。
Unity3D渲染的實質工作是在計算機中模擬現實生活場景中真實物體的物理特性,包含物體形態、光照陰影變化、幾何紋理以及材質等,并根據視點以及模型的位置變化、遮擋影響以及光源變換引起的色彩變化,并將最終的計算結果顯示在二維平面上,是一個非常復雜的計算過程。目前的解決方案多是基于CPU平臺,利用Unity所提供的圖形接口和封裝函數,對算法和模型進行優化,從而實現對渲染過程的控制和改進。然而,隨著對圖像分辨率和實時性的要求越來越高,給CPU帶來了巨大的計算負擔,僅僅依靠CPU的計算能力已經難以滿足用戶的需求。
發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種基于OpenCL的Unity3D渲染加速方法。
本發明的目的可以通過以下技術方案來實現:
一種基于OpenCL的Unity3D渲染加速方法,包括以下步驟:
S1、在渲染過程的主機端加載場景數據,將場景數據傳輸到OpenCL設備端;
S2、將圖像中的像素點映射到OpenCL的工作項中;
S3、為OpenCL設備端加載計算任務;
S4、利用所有OpenCL的工作項同步執行內核函數,實現對Unity3D渲染過程的并行計算優化;
S5、將內核函數的計算結果寫回到全局內存空間中,完成圖像中的每個像素點信息的更新;
S6、完成后續渲染過程。
優選的,所述步驟S2中采用階段式映射方法將圖像中的像素點映射到OpenCL的工作項中。
優選的,所述階段式映射方法具體包括:
將一個圖像中的像素點映射到一個工作組中,一個工作組對應著一個計算單元,工作組根據硬件的特性自動調整其所包含的工作項的數目和工作項所包含的像素點的數目。
優選的,所述階段式映射方法的訪存模式為:設一個工作項包含n個像素,每個工作項讀取n個像素點,組成長度為n的向量,每個工作項以其全局索引值為相對起始讀取地址,每次讀取都相隔128個字節。
優選的,所述步驟S4具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于同濟大學,未經同濟大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910262194.5/2.html,轉載請聲明來源鉆瓜專利網。





