?

基于光線跟蹤的方差陰影圖算法

2016-04-07 16:07侯建龍許申益
電腦知識與技術 2016年3期

侯建龍 許申益

摘要:提出了基于三維物體空間的光線跟蹤算法和基于二維屏幕空間的方差陰影圖算法的結合來進行真實感場景的渲染,進而產生真實感效果較好的陰影效果。經典的蒙特卡羅光線跟蹤算法在進行三維場景的渲染時需要進行大量的求交計算,對光線進行遞歸的跟蹤求解來模擬現實場景中的光線,通過大量間接光照的計算來獲得較強的真實感效果。而陰影又是影響場景真實感的重要因素,算法以渲染的像素為中心,依靠附近的像素來計算該點的深度的均值和方差,來判定該點所獲得的光照系數。實驗表明,通過本文的算法可以實現較好的陰影效果并且擁有較快的渲染效率。

關鍵詞:光線跟蹤;方差陰影圖;求交計算

中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2016)03-0201-02

近年來,真實感三維圖形的繪制已經成為計算機圖形學研究的重要方向,其目標在于精確的模擬現實生活中光的傳播和各種光照效果,因此在對圖像質量要求較高的領域,如電影和游戲制作中得到了廣泛的應用。光線跟蹤算法是真實感圖形技術中的重要算法之一,應用光線跟蹤模型不僅能模擬出真實的光源和環境光照射到物體表面產生的鏡面反射、漫反射和透射光照效果,還可以實現較為真實的明暗效果,也就是陰影。陰影在三維虛擬場景中扮演著重要的角色,陰影的效果可以直接的提現圖形的真實感指數,它可以精確的反應出場景中物體之間的相對位置,增加繪制效果的立體感和場景層次感。雖然光線跟蹤可以產生效果非常好的柔和陰影,但是由于其計算量非常龐大,需要遞歸的跟蹤計算很多次。而普通的陰影圖算法所產生的陰影真實感效果并不理想,所以提出了采用兩類算法的結合來產生陰影質量較高的效果并且保證較好的場景渲染速度。

1 方差陰影圖算法

普通的陰影圖算法雖然可以快速繪制出陰影,但在復雜場景下走樣比較嚴重。所以我們采用方差陰影圖算法VSM(Variance shadow map)來產生柔和陰影的效果。本文算法主要是在三維物體空間的光線跟蹤算法的基礎上,與二維圖像空間的方差陰影圖算法的結合,在保證陰影質量的同時,使得場景的繪制速度達到可交互的級別。和傳統的陰影圖算法一樣,首先以光源為視點對場景進行渲染,對于方差陰影圖算法來說這一步需要獲取深度值和深度值的平方。通過下面的公式來計算均值[μ]和方差σ2:

求得光線與場景中每個點的深度值,選則以交點hitpoint為中心附近的9宮格(也可以更多,那樣效果更好)像素來進行求取均值和方差。根據附近3x3像素范圍內方差和均值所求得的系數與相應的光強相乘得到該點的光強。

具體的判斷方法:假設第一次以光源為視點,進行渲染,所得的深度為d為光源到hitpoint的距離,進行復雜的齊次矩陣坐標變換后第二次從視點進行渲染的時候,所得的交點與光源的距離為t。如果tu,則該點被遮擋,處于陰影之中,顏色直接設置成背景色。

2 OptiX簡介

本文算法就是利用OptiX來完成的。OptiX是由英偉達推出的光線跟蹤引擎,為GPU硬件提供大規模并行計算的框架,依靠這個框架可以使光線跟蹤的算法達到可交互式的目的。OptiX本身并不是一個光線跟蹤器,而是一個可擴展的基于光線跟蹤算法的應用程序框架。OptiX程序有兩部分組成:1)主機API(host-based API);2)CUDA C 程序系統(CUDA C-based programming system)。

3 實驗結果分析

實驗使用的計算機基本配置:Intel(R)Xeon E3-1255 v3 CPU,4G主存,NV Quadro K2000 GPU,編譯環境為vs2013。實驗使用的模型是Bunny模型,包含的三角形面片數量為14000個。我們采用英偉達的optix光線跟蹤加速程序框架來實現方差陰影圖。像素設置為1024*768,實驗結果如圖2:

從圖中可以清晰看出兔子模型所產生的陰影效果圖的邊緣是模糊漸變,陰影的效果接近柔和陰影的真實感效果。

根據實驗結果,總結出該方法有以下幾個優點:

1)使得光源變為聚光燈,其角度基本和視域體的角度相切,光源發射的所有光線所進行的光線跟蹤計算達到最小,因為跟蹤的光線減少了。這樣就使得渲染場景所進行的計算大大減少;

2)陰影的效果近似柔和,由上圖兔子陰影的邊緣可以看出,由于該效果是在點光源下產生的,所以對于光線的處理速度非???,效果比純粹的過濾陰影圖要快很多;

3)不需要進行陰影測試,由于把距離參數保存在矩陣當中,所以也減少了計算量和內存空間。該算法結果的幀數能達到20左右,可以達到交互式的級別。如果把光源換成面光源來處理,只需要進行少量的點光源采樣就可以達到柔和陰影的效果,圖3是通過面光源產生的柔和陰影效果;

4)該算法不需要進行預計算。

參考文獻:

[1] Glassner A S.An Introduction to Ray Tracing. Academic Press (1991).

[2] Kalojanov J, Slusallek P.A Parallel Algorithm for Construction of Uniform Grids. In: Proc. of the Conference on High Performance Graphics, 2009: 23-28.

[3] Hasenfratz J M, Lapierre M, Holzschuch N, et al.A Survey of Real-time Soft Shadows Algorithms. Computer Graphics Forum 22, 2003: 753-774.

[4] Donnelly W, Lauritzen A.Variance Shadow Maps. In: Proc. of 2006 Symposium on Interactive 3D Graphics and Games, 2006: 161-165.

[5] Wen J.The study of ray-tracing and its anti-aliasing. Master Dissertation, pp. 20–22. Xidian University (2005) (in Chinese).

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合