基本信息
- 項目名稱:
- 基于GPU的全局光照渲染技術(shù)
- 小類:
- 信息技術(shù)
- 大類:
- 科技發(fā)明制作B類
- 簡介:
- 本作品是一個全局光照渲染器。功能是由給出場景物體形狀、表面屬性、照明情況,以及觀察角度等數(shù)據(jù),根據(jù)光傳播的物理規(guī)律,把觀察到的畫面繪制出來。本作品使用CUDA編程接口,利用GPU強大的并行計算能力,完成關(guān)鍵部分的計算,較之于CPU渲染器明顯提高計算速度,并且采用無偏的路徑跟蹤算法,保證計算結(jié)果逼近真實值。本作品主要針對建筑表現(xiàn)、工業(yè)設(shè)計、影視制作等領(lǐng)域。
- 詳細介紹:
- 我們已經(jīng)實現(xiàn)了一個基本框架,其中具有以下特性: (1)能支持包含幾十萬個三角面的中等場景。 (2)支持漫反射,鏡面反射和折射材質(zhì)。 (3)采用路徑跟蹤算法,結(jié)果收斂于物理真實值。
作品專業(yè)信息
設(shè)計、發(fā)明的目的和基本思路、創(chuàng)新點、技術(shù)關(guān)鍵和主要技術(shù)指標
- (1)目的 當前在建筑表現(xiàn),工業(yè)設(shè)計,影視制作普遍采用離線渲染技術(shù)。由于離線渲染本身計算量大,而對于大多數(shù)用戶,又不可能實現(xiàn)分布式渲染,而另一方面,圖形處理器的發(fā)展使得利用GPU進行并行計算成為可能,因此利用GPU進行渲染,將會成為提高渲染速度的另一種選擇,因此這方面的研究有明顯的實用價值。 (2)基本思路 a.使用路徑跟蹤方法,以此保證結(jié)果無偏性。 首先從視點發(fā)射一條光線,找到跟最近的物體的交點,并計算這個點上面的直接光照。然后從這個點再次發(fā)射一條光線,重復之前的步驟。最后根據(jù)光照公式,把各點的直接光照混合起來,得出最終的像素顏色值。這種辦法從物理上說是準確的,也就是說隨著光線數(shù)增大,得到的圖像越趨近于真實的光照分布。 b.嘗試各種求交方法,提高效率。包括BVH樹的packet traversal方法,無堆棧方法等。 c.針對圖形硬件特點做出相應(yīng)改進。包括隱藏訪存延遲,減少條件分支,減少寄存器消耗量,利用共享內(nèi)存等。 (3)創(chuàng)新點 提出一種適合GPU的路徑終止方法。 (3)技術(shù)指標 下面是部分運行數(shù)據(jù): 三角形數(shù) 迭代次數(shù) 分辨率 渲染總時間 3466 42 640*480 13s 382376 79 640*480 153s
科學性、先進性
- 我們這個系統(tǒng)的創(chuàng)新主要是集成創(chuàng)新和引進消化吸收再創(chuàng)新。項目實施至今,我們已經(jīng)初步建立了系統(tǒng)框架,實現(xiàn)了模型的初步建立,主要有以下的特點及進步: (1) 能達到更精確的效果。由于采用路徑跟蹤算法,結(jié)果收斂于真實值,理論上比光子貼圖等近似算法更加準確。 (2) 使用GPU實現(xiàn)的路徑跟蹤算法,相比CPU實現(xiàn)速度有明顯提高,收斂速度加快。 (3) 目前,我們已經(jīng)根據(jù)圖形硬件特點,提出了一種新的終止路徑的方法,在保證結(jié)果無偏性的同時不降低效率。
獲獎情況及鑒定結(jié)果
- 參加校挑戰(zhàn)杯比賽獲三等獎。
作品所處階段
- 目前我們已經(jīng)實現(xiàn)了一個基本框架,具有以下特性: a.能支持中等場景。 b.支持基本的材質(zhì)。
技術(shù)轉(zhuǎn)讓方式
- 未有這方面的計劃。
作品可展示的形式
- 圖片,視頻和原型系統(tǒng)。
使用說明,技術(shù)特點和優(yōu)勢,適應(yīng)范圍,推廣前景的技術(shù)性說明,市場分析,經(jīng)濟效益預測
- 使用方法: 讀取obj格式文件,然后進行渲染。場景為靜態(tài)場景,但可以動態(tài)改變觀察視角。 技術(shù)特點: (1)能支持包含幾十萬個三角面的中等場景。 (2)支持漫反射,鏡面反射和折射材質(zhì)。 (3)采用路徑跟蹤算法,結(jié)果收斂于物理真實值。 適應(yīng)范圍: 工業(yè)設(shè)計、影視制作領(lǐng)域。 市場分析及經(jīng)濟效益: 當前系統(tǒng)尚處于研究階段,具體效益尚不明朗。
同類課題研究水平概述
- 當前國外關(guān)于GPU光線追蹤的研究主要集中在光線求交上。針對圖形硬件的特性,需要解決的技術(shù)問題有: 1) 減少在求交過程中出現(xiàn)一個wrap內(nèi)各個線程走向不同分支的情況。 2) 因此應(yīng)該避免實現(xiàn)堆棧,或者采用二進制位形式的小堆棧。 3) 采取措施隱藏訪問全局存儲器的延遲。 針對以上問題,尤其是前兩個問題,已經(jīng)有了很多的研究,基本的思路有以下幾點: 1) 把方向相近的光線集中在同一個wrap上,減少分支,這種方法稱為packet traversal。 2) 開發(fā)無堆棧的求交方法,稱為stackless traversal,此方面比較成功的有KD樹的rope方法。 3) 把數(shù)據(jù)保存成紋理,利用紋理緩存加速訪問。 按照國外論文報告的數(shù)據(jù),采用當前的高端圖形硬件(如GTX280),在幾十萬面的場景,能夠達到每秒對幾十到一百萬條光線求交。相比之下,我們的實現(xiàn)還是有比較大的差距。