亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法

文檔序號:6621848閱讀:1241來源:國知局
一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法
【專利摘要】本發(fā)明公開一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,包括如下步驟:A、遍歷場景內(nèi)所有在虛擬相機可見范圍內(nèi)的對象。B、構(gòu)建一個光源空間,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,生成一張shadow?map。C、經(jīng)過投影變換將世界位置坐標(biāo)轉(zhuǎn)化到燈光空間,獲得像素的新位置的深度圖。D、將像素的新位置的深度和shadow?map進行比較,判定哪些像素處于陰影中,從而得到一張shadow?mask。E、對shadow?mask進行高斯模糊處理。F、將模糊后的shadow?mask與場景顏色進行疊加,實現(xiàn)軟陰影效果。本發(fā)明改良了傳統(tǒng)基于采樣紋理的PCF,有效的解決了場景模型邊界出現(xiàn)鋸齒的現(xiàn)象,實現(xiàn)了較好的軟陰影效果,而且對于較復(fù)雜的場景實現(xiàn)軟陰影的效果也非常好,繪制效率高。
【專利說明】一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟陰影【技術(shù)領(lǐng)域】,尤其涉及一種基于圖像屏幕空間的實時軟陰影實現(xiàn) 方法。

【背景技術(shù)】
[0002] 作為游戲引擎中一個非常重要功能的光影效果,陰影在虛擬的游戲有著至關(guān)重要 的作用,加入了此效果,圖像的立體感和層次將更加的豐富,同時也提高了場景的真實感受 度。陰影可以分為軟硬兩種陰影,硬陰影算法比較簡單,而實時軟陰影比硬陰影更具有真 實感,可是動態(tài)的軟陰影的實現(xiàn)是計算機圖形學(xué)研究的一個難點。傳統(tǒng)實時軟陰影的實現(xiàn) 過程如下:首先以光源為視點生成包含場景深度信息的深度圖(shadow map),然后從觀察 者視點將場景渲染到一張屏幕紋理緩沖中,進而對此采樣的紋理進行多次采樣取平均值 (percentage closer filtering, PCF),這種方法產(chǎn)生的軟陰影質(zhì)量和采樣次數(shù)有直接關(guān) 系,如果要得到比較柔和的軟陰影效果,則需要大量的紋理采樣,效率低下。


【發(fā)明內(nèi)容】

[0003] 本發(fā)明的目的在于通過一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,來解決以 上【背景技術(shù)】部分提到的問題。
[0004] 為達此目的,本發(fā)明采用以下技術(shù)方案:
[0005] -種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,包括如下步驟:
[0006] A、遍歷場景內(nèi)所有在虛擬相機可見范圍內(nèi)的對象;
[0007] B、構(gòu)建一個光源空間,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,生成一張 shadow map ;
[0008] C、經(jīng)過投影變換將世界位置坐標(biāo)轉(zhuǎn)化到燈光空間,獲得像素的新位置的深度圖;
[0009] D、將所述像素的新位置的深度和shadow map進行比較,判定哪些像素處于陰影 中,從而得到一張 shadow mask ;
[0010] E、對所述shadow mask進行高斯模糊處理;
[0011] F、將模糊后的shadow mask與場景顏色進行疊加,實現(xiàn)軟陰影效果。
[0012] 特別地,所述步驟B具體包括:在相機可見范圍內(nèi),構(gòu)建一個光源空間,將相機的 朝向與光源方向調(diào)為一致,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,然后繪制場景、 讀取深度緩沖的內(nèi)容,將場景的深度緩沖信息渲染到浮點格式的紋理中,生成一張 shadow map。
[0013] 特別地,所述步驟E具體包括:首先創(chuàng)建一個紋理并獲得紋理的表面信息,然后利 用高斯模糊對紋理表面進行處理,其中,在渲染該紋理時需要渲染兩個目標(biāo):水平方向和垂 直方向;對shadow mask做高斯模糊,經(jīng)過GPU光柵化后,渲染出一個屏幕大小的方形即模 糊后的紋理。
[0014] 本發(fā)明提出的基于圖像屏幕空間的實時軟陰影實現(xiàn)方法改良了傳統(tǒng)基于采樣紋 理的PCF,有效的解決了場景模型邊界出現(xiàn)鋸齒的現(xiàn)象,實現(xiàn)了較好的軟陰影效果,而且對 于較復(fù)雜的場景實現(xiàn)軟陰影的效果也非常好,繪制效率高。

【專利附圖】

【附圖說明】
[0015] 圖1為本實施例提供的基于圖像屏幕空間的實時軟陰影實現(xiàn)方法流程圖;
[0016] 圖2為本實施例提供的模糊前紋理圖;
[0017] 圖3為本實施例提供的模糊后紋理圖;
[0018] 圖4為本實施例提供的中心點相鄰像素所占的權(quán)重示意圖。

【具體實施方式】
[0019] 下面結(jié)合附圖和實施例對本發(fā)明作進一步說明??梢岳斫獾氖牵颂幩枋龅木?體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描 述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
[0020] 請參照圖1所示,圖1為本實施例提供的基于圖像屏幕空間的實時軟陰影實現(xiàn)方 法流程圖。
[0021] 本實施例中基于圖像屏幕空間的實時軟陰影實現(xiàn)方法包括如下步驟:
[0022] 步驟S101、遍歷場景內(nèi)所有在虛擬相機可見范圍內(nèi)的對象。遍歷場景中的對象是 否在虛擬相機可見范圍內(nèi),只渲染相機內(nèi)可見的區(qū)域。
[0023] 步驟S102、構(gòu)建一個光源空間,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,生成 一張 shadow map。在相機可見范圍內(nèi),構(gòu)建一個光源空間,將相機的朝向與光源方向調(diào)為一 致,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,然后繪制場景、讀取深度緩沖的內(nèi)容,將 場景的深度緩沖信息渲染到浮點格式的紋理中,生成一張 shadow map即深度圖。
[0024] 步驟S103、經(jīng)過投影變換將世界位置坐標(biāo)轉(zhuǎn)化到燈光空間,獲得像素的新位置的 深度圖。根據(jù)步驟S102生成的shadow map,在屏幕空間計算陰影的過程中,經(jīng)過投影變換 將世界位置坐標(biāo)轉(zhuǎn)化到燈光空間。
[0025] 步驟S104、將所述像素的新位置和深度圖進行比較,判定哪些像素處于陰影中,從 而得到一張 shadow mask,S卩非陰影的地方是白色,陰影的地方是黑色。從燈光空間渲染場 景時,把該空間下場景中的像素逐個和shadow map中保存的深度進行比較,當(dāng)像素深度大 于深度圖的深度時,則判定該像素是受陰影的,當(dāng)?shù)扔谏疃葓D的深度時,則判定該像素是受 光的,從而得到一張屏幕大小紋理圖的shadow mask即陰影遮罩。
[0026] 步驟S105、對所述shadow mask進行高斯模糊處理。首先創(chuàng)建一個紋理并獲得紋 理的表面信息,然后利用高斯模糊對紋理表面進行處理,其中,在渲染該紋理時需要渲染兩 個目標(biāo):水平方向和垂直方向;對shadow mask做高斯模糊,經(jīng)過GPU光柵化后,渲染出一個 屏幕大小的方形即模糊后的紋理。其中,GPU是Graphic Processing Unit的縮寫,簡稱圖 形處理單元。模糊處理后的效果對比如圖2和圖3所示,圖2為模糊前的紋理圖,圖3為模 糊后的紋理圖。
[0027] 高斯模糊是一種圖像模糊的濾波器,它正態(tài)分布計算圖像中每個像素的變換,因 為深度信息是記錄二維空間的坐標(biāo)信息,則它在二維空間的方程為: / 、 1 ~(u2+v2)/
[0028] G(U,V)=_L^e /2σ 2 2πσ2
[0029] 其中,〇是正態(tài)分布的方差,u和v是像素的坐標(biāo)值。利用相鄰像素的加權(quán)值來表 示該點的像素值,它的應(yīng)用原理是取shadow mask中每個像素的周邊像素的平均值。具體 過程如下:一、計算權(quán)重值。需要根據(jù)σ的值來確定,一般取值為σ =2。如圖4所示,把 w5所占格子的像素定為中心像素,臨近的w8像素的權(quán)重值和中心像素相加并平均,就可以 得到中心像素的權(quán)重值,但是由于所有像素權(quán)重值的總和必須為1,因此把所有的像素權(quán)重 除以中心像素的權(quán)重值就可以了。由此得到相鄰每個像素的權(quán)重值。二、獲得各個像素的 權(quán)重值和各個像素的顏色值后就可以計算高斯模糊了。把每個點的像素值*對應(yīng)像素的權(quán) 重值,然后就把9個值加在一起即為中心點的高斯模糊值。
[0030] 步驟S106、將模糊后的shadow mask與場景顏色進行疊加,實現(xiàn)軟陰影效果。模糊 后的紋理投射到屏幕上,實現(xiàn)實時軟陰影。
[0031] 本發(fā)明的技術(shù)方案改良了傳統(tǒng)基于采樣紋理的PCF,有效的解決了場景模型邊界 出現(xiàn)鋸齒的現(xiàn)象,實現(xiàn)了較好的軟陰影效果,而且對于較復(fù)雜的場景實現(xiàn)軟陰影的效果也 非常好,繪制效率高。
[0032] 注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解, 本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、 重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行 了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還 可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【權(quán)利要求】
1. 一種基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,其特征在于,包括如下步驟: A、 遍歷場景內(nèi)所有在虛擬相機可見范圍內(nèi)的對象; B、 構(gòu)建一個光源空間,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,生成一張 shadow map ; C、 經(jīng)過投影變換將世界位置坐標(biāo)轉(zhuǎn)化到燈光空間,獲得像素的新位置的深度圖; D、 將所述像素的新位置的深度和shadow map進行比較,判定哪些像素處于陰影中,從 而得到一張 shadow mask ; E、 對所述shadow mask進行高斯模糊處理; F、 將模糊后的shadow mask與場景顏色進行疊加,實現(xiàn)軟陰影效果。
2. 根據(jù)權(quán)利要求1所述的基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,其特征在于,所 述步驟B具體包括:在相機可見范圍內(nèi),構(gòu)建一個光源空間,將相機的朝向與光源方向調(diào)為 一致,并創(chuàng)建一個用于保存屏幕空間內(nèi)深度的紋理,然后繪制場景、讀取深度緩沖的內(nèi)容, 將場景的深度緩沖信息渲染到浮點格式的紋理中,生成一張 shadow map。
3. 根據(jù)權(quán)利要求1或2任一項所述的基于圖像屏幕空間的實時軟陰影實現(xiàn)方法,其特 征在于,所述步驟E具體包括:首先創(chuàng)建一個紋理并獲得紋理的表面信息,然后利用高斯模 糊對紋理表面進行處理,其中,在渲染該紋理時需要渲染兩個目標(biāo):水平方向和垂直方向; 對shadow mask做高斯模糊,經(jīng)過GPU光柵化后,渲染出一個屏幕大小的方形即模糊后的紋 理。
【文檔編號】G06T15/60GK104103089SQ201410367545
【公開日】2014年10月15日 申請日期:2014年7月29日 優(yōu)先權(quán)日:2014年7月29日
【發(fā)明者】張翼 申請人:無錫梵天信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1