欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于gpu并行計算的實時陰影生成方法及系統(tǒng)的制作方法

文檔序號:6601148閱讀:322來源:國知局
專利名稱:一種基于gpu并行計算的實時陰影生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于圖形學(xué)領(lǐng)域,特別是涉及到一種基于GPU并行計算的實時陰影生產(chǎn)方 法及系統(tǒng)。
背景技術(shù)
近年來,計算機圖形學(xué)有了較大的發(fā)展,在游戲,虛擬現(xiàn)實,電影特效制作等多個 方向有了非常廣泛的應(yīng)用,伴隨著應(yīng)用需求的不斷增加,人們對真實感圖形的需求也與日 俱增。實現(xiàn)真實感圖形生成包含很多方面,其中陰影是比較難的一方面。進(jìn)來隨著GPU以 及CPU能力不斷增強,尤其是顯卡的不斷進(jìn)步,使得原來由CPU處理的大部分?jǐn)?shù)據(jù)改由GPU 處理,并在硬件上實現(xiàn)了部分通用功能,如變化與光照計算等,從而大大提升了處理能力, 使真實感渲染方法逐步得到廣泛應(yīng)用。陰影方法作為真實感渲染領(lǐng)域極其重要的組成部分,目前陰影方法主要包括掃描 線方法、細(xì)節(jié)多邊形方法(兩次消隱方法)、影域多邊形方法(shadow volumes)、陰影映射 (shadow mapping)、Z-bufTer方法、光線跟蹤方法、輻射度方法等。而在交互式3D應(yīng)用中使 用最多的是陰影映射及其改進(jìn)方法。這一方法及其改進(jìn)方法在游戲、虛擬現(xiàn)實、醫(yī)學(xué)成像、 電影制作等領(lǐng)域都有著越來越廣泛的應(yīng)用。在未來計算機硬件性能不斷提升的過程中,真實感渲染方法勢必將向著高速、實 時、現(xiàn)實方向發(fā)展。其中必然對陰影生成方法有著更高的要求。因此在這一方向的研究是 具有極高應(yīng)用價值的。

發(fā)明內(nèi)容
本發(fā)明的目的之一在于克服現(xiàn)有技術(shù)的不足,提出一種基于GPU并行計算的實時 陰影生成方法。本發(fā)明的目的之二在于根據(jù)目的一的方法,提出一種基于GPU并行計算的 實時陰影生成系統(tǒng)。為了實現(xiàn)發(fā)明目的一,采用的技術(shù)方案如下以光源視點渲染場景保存物體深度信息;將深度信息做一次函數(shù)變換;存儲變換 后的深度信息;用GPU對深度信息并行濾波;以視點渲染場景,得到物體與光源的距離;對 距離值做函數(shù)變換;將變換后的深度值和距離值相乘,得到當(dāng)前渲染點的陰影值信息;利 用此陰影值信息渲染場景,最終得到平滑陰影效果。為了實現(xiàn)發(fā)明目的二,采用的技術(shù)方案為一種基于GPU并行計算的實時陰影生成系統(tǒng),包括新的陰影映射貼圖生成模塊、GPU并行處理陰影映射貼圖模塊以及陰影貼圖生成實時陰影的渲染模塊。所述新的陰影映射貼圖生成模塊包括深度采集子模塊、生成連續(xù)函數(shù)陰影貼圖子 模塊。所述GPU并行處理陰影映射貼圖模塊包括GPU陰影圖載入子模塊、GPU并行濾波 子模塊。
所述陰影貼圖生成實時陰影的渲染模塊包括連續(xù)函數(shù)陰影貼圖陰影映射貼圖還原子模塊、陰影生成子模塊。新的陰影映射貼圖生成模塊,收集場景物體到光源的深度信息后,用連續(xù)函數(shù)將 深度信息做一次映射,利用映射后的值生成陰影貼圖。將陰影貼圖送入GPU陰影圖載入子模塊,包含如下3個步驟的處理將原始圖像分割成大小相同的小塊;將每個小塊讀入GPU的處理單元的內(nèi)存;將 讀入后的數(shù)據(jù)邊緣部分進(jìn)行擴展。如果是圖像最外層邊界用0進(jìn)行擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定;如果是圖像 內(nèi)部分塊邊界,用相鄰行或列數(shù)據(jù)復(fù)制補齊擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定。將擴展后的數(shù)據(jù)送入GPU并行濾波子模塊,包括如下3個步驟的處理每個處理單元同時讀入補齊擴展后的數(shù)據(jù);每個處理單元用濾波核對數(shù)據(jù)進(jìn)行乘 加濾波運算;將運算后的結(jié)果寫入公共內(nèi)存區(qū),并等待線程同步后返回結(jié)束信號。之后進(jìn)入連續(xù)函數(shù)陰影貼圖陰影映射貼圖還原子模塊和陰影生成子模塊。映射貼圖還原子模塊對距離值做函數(shù)變換;將變換后的深度值和距離值相乘,得 到當(dāng)前渲染點的陰影值信息。送入陰影生成子模塊,利用此陰影值信息渲染場景,最終得到 平滑陰影效果。本發(fā)明的優(yōu)點在于陰影生成速度快,邊緣平滑。在場景中有多個光源情況下比一 般的方法能有效提高陰影生成速度50%以上。在復(fù)雜場景的渲染應(yīng)用需求中具有極大優(yōu) 勢。


圖1為本發(fā)明的基于GPU并行計算的實時陰影生成系統(tǒng)框架示意圖;圖2為本發(fā)明的基于GPU并行計算的實時陰影生成方法的流程圖;圖3為陰影圖載入子模塊流程圖;圖4為GPU并行處理陰影映射貼圖流程圖。
具體實施例方式為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1展示了基于GPU并行計算的實時陰影生成系統(tǒng)框架。首先渲染系統(tǒng)從場景中 得到所有待渲染物體在場景中的深度信息,這步操作無特殊要求。得到深度信息后將深度信息傳入連續(xù)函數(shù)陰影貼圖模塊,此模塊完成如下工作首先此模塊根據(jù)深度信息得到離散的陰影測試函數(shù),此陰影測試函數(shù)定義為如果 光源到物體的深度信息值小于視點空間中光源到物體的深度信息值即視為此點在陰影中, 這樣得到的陰影測試函數(shù)為0-1離散函數(shù)。其次選用一個連續(xù)函數(shù)來逼近這個離散函數(shù), 函數(shù)的選取可以有多種,開發(fā)者可以嘗試選取不同種類的連續(xù)函數(shù)。所有函數(shù)的選取目的 均在逼近模擬0-1離散函數(shù),最后將連續(xù)函數(shù)變換后的陰影測試函數(shù)存儲到一張陰影貼圖中。接下來將存儲的陰影貼圖送入GPU陰影圖載入子模塊,此模塊負(fù)責(zé)對陰影貼圖做 前期處理,目的是為GPU并行濾波提供準(zhǔn)備。具體所作工作如圖3所示,包含如下3個步驟 的處理1、將原始陰影貼圖分割成大小相同的小塊。此步操作根據(jù)濾波核的大小,和圖像 本身的大小分塊大小會有所不同,應(yīng)滿足一般原則分塊個數(shù)應(yīng)滿足GPU數(shù)據(jù)對齊原則,即 分塊應(yīng)為2次方數(shù)。2、將每個小塊讀入GPU的處理單元的內(nèi)存。此步操作是為GPU并行計算單元提供 原始數(shù)據(jù)。3、將讀入后的數(shù)據(jù)邊緣部分進(jìn)行擴展。此步操作是為了計算分塊邊緣的值,根據(jù) 卷積濾波的定義這步不能缺少,否則圖像將會縮小。擴展方法如下所述
如果是圖像最外層邊界用0進(jìn)行擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定;如果是圖像 內(nèi)部分塊邊界,用相鄰行或列數(shù)據(jù)復(fù)制補齊擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定。接下來如圖4所示,將擴展后的數(shù)據(jù)送入GPU并行濾波子模塊,此模塊將陰影貼圖 進(jìn)行并行濾波,包括如下3個步驟的處理1、每個處理單元同時讀入補齊擴展后的數(shù)據(jù);2、每個處理單元用濾波核對數(shù)據(jù)進(jìn)行乘加濾波運算;此處濾波的方法可以不同, 本系統(tǒng)采用的是高斯濾波。3、將運算后的結(jié)果寫入公共存儲區(qū),并等待線程同步后返回結(jié)束信號。至此已經(jīng) 完成對圖像的并行濾波,結(jié)果存儲在公共存儲區(qū)。之后進(jìn)入連續(xù)函數(shù)陰影貼圖陰影映射貼圖還原子模塊和陰影生成子模塊。陰影貼圖還原子模塊對距離值做函數(shù)變換;將變換后的深度值和距離值相乘,得 到當(dāng)前渲染點的陰影值信息。送入陰影生成子模塊,利用此陰影值信息渲染場景,最終自然 得到平滑陰影效果。如上所訴的系統(tǒng)及方法是為了能讓本領(lǐng)域的技術(shù)人員制造和使用本發(fā)明而提供 的。本領(lǐng)域的技術(shù)人員可以對具體實現(xiàn)做相應(yīng)修改,但其所對應(yīng)的最大范疇與這里所揭示 的原理和新穎性是一致的。
權(quán)利要求
一種基于GPU并行計算的實時陰影生成方法,其特征在于,包括如下步驟以光源視點渲染場景保存物體深度信息;將深度信息做一次函數(shù)變換;存儲變換后的深度信息;用GPU對深度信息并行濾波;以視點渲染場景,得到物體與光源的距離;對距離值做函數(shù)變換;將變換后的深度值和距離值相乘,得到當(dāng)前渲染點的陰影值信息;利用此陰影值信息渲染場景,最終得到平滑陰影效果。
2.一種基于GPU并行計算的實時陰影生成系統(tǒng),其特征在于,該系統(tǒng)包括新的陰影映 射貼圖生成模塊、GPU并行處理陰影映射貼圖模塊以及陰影貼圖生成實時陰影的渲染模 塊;所述新的陰影映射貼圖生成模塊包括深度采集子模塊、生成連續(xù)函數(shù)陰影貼圖子模 塊;所述GPU并行處理陰影映射貼圖模塊包括GPU陰影圖載入子模塊、GPU并行濾波子模塊;所述陰影貼圖生成實時陰影的渲染模塊包括連續(xù)函數(shù)陰影貼圖陰影映射貼圖還原子 模塊、陰影生成子模塊;新的陰影映射貼圖生成模塊,收集場景物體到光源的深度信息后,用連續(xù)函數(shù)將深度 信息做一次映射,利用映射后的值生成陰影貼圖,將陰影貼圖送入GPU陰影圖載入子模塊 對數(shù)據(jù)邊緣部分進(jìn)行擴展,將擴展后的數(shù)據(jù)送入GPU并行濾波子模塊,之后進(jìn)入連續(xù)函數(shù) 陰影貼圖陰影映射貼圖還原子模塊和陰影生成子模塊,映射貼圖還原子模塊對距離值做函 數(shù)變換,將變換后的深度值和距離值相乘,得到當(dāng)前渲染點的陰影值信息,送入陰影生成子 模塊,利用此陰影值信息渲染場景,最終得到平滑陰影效果。
3.根據(jù)權(quán)利要求2所述的基于GPU并行計算的實時陰影生成系統(tǒng),其特征在于,首先連 續(xù)函數(shù)陰影貼圖模塊根據(jù)深度信息得到離散的陰影測試函數(shù),此陰影測試函數(shù)定義為如果 光源到物體的深度信息值小于視點空間中光源到物體的深度信息值即視為此點在陰影中, 這樣得到的陰影測試函數(shù)為0-1離散函數(shù);其次選用一個連續(xù)函數(shù)來逼近這個離散函數(shù), 函數(shù)的選取可以有多種,開發(fā)者可以嘗試選取不同種類的連續(xù)函數(shù);所有函數(shù)的選取目的 均在逼近模擬0-1離散函數(shù),最后將連續(xù)函數(shù)變換后的陰影測試函數(shù)存儲到一張陰影貼圖 中;接下來將存儲的陰影貼圖送入GPU陰影圖載入子模塊,此模塊負(fù)責(zé)對陰影貼圖做前期 處理,目的是為GPU并行濾波提供準(zhǔn)備,包含如下3個步驟的處理Al 將原始陰影貼圖分割成大小相同的小塊,此步操作根據(jù)濾波核的大小,和圖像本身 的大小分塊大小會有所不同,應(yīng)滿足一般原則分塊個數(shù)應(yīng)滿足GPU數(shù)據(jù)對齊原則,即分塊 應(yīng)為2次方數(shù);Bl 將每個小塊讀入GPU的處理單元的內(nèi)存,此步操作是為GPU并行計算單元提供原始 數(shù)據(jù);Cl 將讀入后的數(shù)據(jù)邊緣部分進(jìn)行擴展,此步操作是為了計算分塊邊緣的值,根據(jù)卷積 濾波的定義這步不能缺少,否則圖像將會縮?。粩U展方法如下所述如果是圖像最外層邊界用0進(jìn)行擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定;如果是圖像內(nèi)部 分塊邊界,用相鄰行或列數(shù)據(jù)復(fù)制補齊擴展,擴展行數(shù)根據(jù)濾波階數(shù)而定;接下來將擴展后的數(shù)據(jù)送入GPU并行濾波子模塊,此模塊將陰影貼圖進(jìn)行并行濾波,包括如下3個步驟的處理A2 每個處理單元同時讀入補齊擴展后的數(shù)據(jù);B2 每個處理單元用濾波核對數(shù)據(jù)進(jìn)行乘加濾波運算;此處濾波的方法可以不同,本 系統(tǒng)采用的是高斯濾波;C2 將運算后的結(jié)果寫入公共存儲區(qū),并等待線程同步后返回結(jié)束信號;至此已經(jīng)完成對圖像的并行濾波,結(jié)果存儲在公共存儲區(qū)。
全文摘要
本發(fā)明公開了一種基于GPU并行計算的實時陰影生成方法及系統(tǒng)。以光源視點渲染場景保存物體深度信息;將深度信息做一次函數(shù)變換;存儲變換后的深度信息;用GPU對深度信息并行濾波;以視點渲染場景,得到物體與光源的距離;對距離值做函數(shù)變換;將變換后的深度值和距離值相乘,得到當(dāng)前渲染點的陰影值信息;利用此陰影值信息渲染場景,最終得到平滑陰影效果。利用此方法及系統(tǒng)生成的陰影具有自然平滑的陰影邊緣以及在復(fù)雜場景中高效的渲染速度。
文檔編號G06T1/20GK101840566SQ20101015357
公開日2010年9月22日 申請日期2010年4月16日 優(yōu)先權(quán)日2010年4月16日
發(fā)明者羅笑南, 許曉偉, 馬晨 申請人:中山大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙山县| 阳高县| 偃师市| 绩溪县| 抚顺县| 延安市| 平原县| 南部县| 洪江市| 祥云县| 金阳县| 莱芜市| 澄城县| 法库县| 延寿县| 榆中县| 东安县| 什邡市| 佛学| 阳原县| 新野县| 盐池县| 安康市| 丹巴县| 浦城县| 常熟市| 科技| 遵义县| 余姚市| 黄龙县| 临沂市| 昌邑市| 山东| 崇文区| 红安县| 玛曲县| 毕节市| 乌拉特中旗| 武强县| 邯郸县| 呈贡县|