1.一種差分陰影優(yōu)化方法,其特征是用于仿真場景渲染,包括以下步驟:
1)首先獲取光源來繪制場景,使用方差陰影貼圖VSM方法第一次對場景進行渲染,渲染場景所有物體得到深度值,并存儲為兩個分量,分別寫入深度值z-Depth和深度值平方z-Depth2,計算深度值在[z-Depth,z-Depth2]范圍內的物體深度值期望μ和方差σ2,如公式(1)和(2)所示,
μ=E(x)=M1 (1)
σ2=E(x2)-E(x)2=M2-M12 (2)
x表示像素點的深度值;
2)利用切比雪夫不等式對深度值進行濾波處理,對任意常數(shù)ε:
P()表示概率函數(shù),令t=E(x)+ε,且[t-E(x)]2≥E(x-E(x)2)=σ2,得:
公式(4)不等式右半部分為Pmax(t),得到深度值大于t的點,如果該點的經(jīng)過第一次渲染得到的深度值小于t,那么將該點表示為陰影;
3)設置一個預分層函數(shù),如公式(5),在進行差分陰影貼圖計算前,先根據(jù)像素深度值的大小進行預分層處理:
式中:x為深度值;mi,ni為設定的第i層的上下界的值,通過預分層函數(shù)將所有像素深度值都壓縮在單位空間中;
4)每層單獨存儲各自的方差陰影貼圖VSM,根據(jù)分層后深度值所在的范圍來劃分渲染過程中像素所屬層,在對每一層的渲染處理中,如果當前層的深度值比t大,表示它沒有遮擋;
5)輸出整體場景的陰影效果。
2.根據(jù)權利要求1所述的一種差分陰影優(yōu)化方法,其特征是考慮到系統(tǒng)實時計算的開銷,將全部像素深度值分為4層:[0,0.27]、[0.25,0.52]、[0.5,0.77]以及[0.75,1],設置0.02的重疊量用于處理好相鄰層的邊界問題。