DirectX不是全部!3D游戲圖形技術解析
● 為什么要加入景深——模擬鏡頭和人眼的視覺效果
使用單反數碼相機拍照的朋友應該知道,大光圈鏡頭所帶來的背景虛化效果非常好,能夠凸出人物和景物,主次分明。其實人眼在注意觀察物體時,也會將焦距拉近,主體清晰可見但遠景一片模糊,這就是通常所說的景深效果。
3D游戲為了模擬真實,更接近鏡頭/人眼的成像原理,也將景深引入渲染過程之中。由于3D游戲只是將圖像投影在了平面的顯示器上,不會有深度,因此想要實現景深效果必須在圖像輸出之前就進行預處理,把游戲主角以外的遠景全部虛化。
● DX10帶來更好的景深處理
DX9時代,是通過投機取巧的方式來實現景深效果的,它自動判定距離,將遠處景物的紋理、陰影、光照等特效全面縮水,然后再輔以模糊處理,而只對近景做正常渲染輸出,這樣就會讓玩家注意到主角而忽視遠景。
而DX10則沒有任何的偷工減料,它通過幾何著色器,將深度帖圖中的紋理信息按照距離拆分到緩沖,然后分為幾個不同的視角進行渲染,最后合成完整的圖像。因此最終實現的景深效果在特效方面不會有任何縮水,遠景完全符合正常的虛化模式,如果仔細觀察的話,光影等細節(jié)依然得到保留。
● DX11帶來更快的景深處理
DX10的景深處理能夠實現近乎完美的景深效果,但通過不同視覺渲染的方法還是不夠靈活,而且會大大增加GPU后端處理(光柵單元)的負擔,產生負載不均的情況,導致性能損失較大。
而DX11則通過DirectCompute中新增的Gather4數據采集指令,使得計算著色器能夠以四倍的紋理采集速度,幫助減少GPU紋理單元和光柵單元的負擔,從而在進行景深處理時消除了瓶頸,提升渲染效率。
● 代表游戲:《古墓麗影》、《失落星球》、《孤島危機》、《潛行者》、《戰(zhàn)爭機器》
關注我們
