(转)完美画质 3D游戏反锯齿技术浅析 .
完美的畫面已經離我們不再遙遠——反鋸齒技術淺析
不管現今的游戲畫面有多完美,人物和環境有多真實,但游戲畫面的構成的主要方式仍然沒有得到改善:一幀畫面由成千上萬像素構成。這意味著物體多邊形的輪廓最終是鋸齒狀的圖形。所以畫面質量不可能達到理想的標準,除非完全消除“鋸齒”。 別擔心,精美的畫面品質是要犧牲速度的代價來換取的,并且各大顯卡廠商都有自己獨到的反鋸齒技術,他們新的圖形加速卡都紛紛支持全屏抗鋸齒。完美的畫面已經離我們再遙遠。
超級采樣(Supersampling)?
無論是什么樣的抗鋸齒技術都是在超級采樣技術的基礎上發展而來的。在超級采樣技術中,畫面里的每一個像素點都被拆分成了幾個子像素點,然后對它們進行單獨處理后分別放入緩沖區。在整個幀的像素都放入緩沖區后接下來就執行反操作,依照模板的式樣對拆分的像素采用過濾或“聚合”處理重新生成新的像素。在超級采樣期間,畫面以較高的分辨率建立,然后依照適當的模板樣式進行過濾。(如圖1、2)如果我們在800X600的分辨率下打開GF2的4X反鋸齒功能后,顯卡所表現出的性能將與在1600X1200模式下所表現出的性能相等。由于超級采樣消耗了巨大的系統資源,在使用超級采樣的反鋸齒功能時系統性能的下降非常明顯。
多重采樣(multisampling)
NVIDIA在GeForce3上采用的多重采樣往往被人們誤解為超級采樣技術,實際上NVIDIA的多重采樣技術是超級采樣技術的一種變形。 NVIDIA在GeForce3/GeForce4Ti/GeForce4 MX中所采用的多重采樣與其在GeForce2中采用的超級采樣的主要區別在于:芯片在對同一幅圖像進行處理時所處理的子像素的數量不同。如果我們想得到平滑的畫面,僅僅對其多邊形邊緣進行處理就夠了。NVIDIA在執行多重采樣時有一個特點:在對一個像素點進行著色處理時,不僅僅只對其本身的子像素進行采樣,也可以同時對其周邊數個像素的子像素進行采樣,鄰接子像素的圖像屬性也被包括了進來,影響最終該像素的顏色屬性。這樣參與計算的子像素樣本數目也由原來的2個變為5個。(如圖3)
GF3在打開這種全屏抗鋸齒技術時,在多邊形的邊緣上感覺比使用超級采樣技術時平滑得多,但性能的下降卻不是很明顯。(如圖4、5)建議有GeForce3以上顯卡的朋友打開它。
視覺平滑(smoothvision)
ATI則有自己的反鋸齒技術——視覺平滑。該技術利用一個抖動取樣表,靈活控制取樣的位置變化。這樣對一個每組16個樣本的取樣實際上通過抖動取樣表的控制只抽取了其中8個樣本(如圖6) 應該說視覺平滑smoothvision與超級采樣supersampling相比并沒有多少優勢,在RADEON 8500上所表現出來的實際效果確實教人不敢恭維。開啟反鋸齒功能后還是會引起性能的下降。因此RADEON 8500在打開抗鋸齒功能后自動降低了紋理的細節等級,從而降低了對顯存帶寬的吞吐量。但是紋理的質量變得非常糟糕。(如圖7、8沒有打開全屏反鋸齒,如圖9、10 使用smoothvision 6x)
各位有RADEON 8500的朋友不要著急,我們還可以通過其它的技術來彌補這個缺陷:只需要打開各向異性過濾,就可以用過濾提高紋理的質量。RADEON 8500開啟各向異性過濾后性能的損失非常小,而畫面質量卻提升不少。
16倍全屏幕抗鋸齒(FAA-16X)
Martox在Parhelia-512中使用的抗鋸齒技術明顯優于其它公司。這個革命性的方法對系統的性能影響最低,而且所能達到的消除鋸齒的效果也是最好。對于支持FAA-16X的應用程序,Parhelia-512職能的只針對三角形邊緣的像素進行柔化,我們在游戲中看到的鋸齒都是產生在圖形的邊緣部分,物體內部根本就不會看到,然后再用上16倍取樣,同時還能保留物體內部像素的清晰尖銳,這樣就達到了整個畫面的柔化效果。由于一般邊緣的像素只占有整個畫面的很少一部分,所以針對邊緣的16倍柔化抗鋸齒也不會減少太多的性能。(如圖11有Parhelia-512的朋友們,不打開FAA-16X可就虧了!)
高分辨率代替反鋸齒
其實要消除鋸齒,不一定僅僅用顯卡中的反鋸齒特效,我們還有一個非常簡單的辦法——提高分辨率。當分辨率達到一個較高的水平,鋸齒也就變得不那么明顯了。例如,當分辨率在水平方向上擴大A倍,在垂直方向上擴大B倍,顯示器上的物理像素的尺寸實際上變小了,像素的面積事實上縮小了AXB倍。鋸齒的幅度也縮小了相同的倍數。
但是想要達到超級取樣或4X多重取樣的效果,你必須將分辨率在水平方向和垂直方向同時擴大一倍(例如800X600變為1600X1200,1024X768變2048X1536)。當你將顯示器的分辨率調到最大值時,你必須忍受60Hz或更低的刷新率。而反鋸齒特效所帶來的性能下降相對于提高分辨率來說要小一些,尤其是使用Parhelia-512的FAA-16X看起來更劃算。總而言之,不是打開全屏反鋸齒,就就是提高分辨率。
我們以Homeworld: Cataclysm的某個場景為例比較一下。
最初沒有打開全屏反鋸齒,艦隊看起來模糊的可憐,很難區分艦隊單元的機種,而且飛船的輪廓幾乎辨認不出來。(如圖12、13、14)
打開全屏反鋸齒的效果較好,雖然整個畫面都變得模糊起來,但仍舊辨認得出飛船的外形。(如圖15、16、17)
在提高了分辨率后整個圖像清晰分明,感覺比打開反鋸齒特效時畫面更清楚,但其仔細觀察邊緣還是有一些細小的鋸齒。(如圖18、19、20)
反鋸齒和提高分辨率都為我們提供了高質量的畫面。選擇那一個就看你的個人的喜好了。
速度VS.畫質
全屏反鋸齒沒有得到廣泛的應用的主要原因是該技術會帶來明顯的性能下降。采樣倍數越高,性能的下降就越明顯。比如,2X超級采樣使顯卡的性能下降了將近一倍,4X的情況則是4倍,6X時則是驚人的6倍。
這就要求你更了解自己顯卡的性能,選擇適合自己顯卡性能的抗鋸齒倍數。如果你有像RADEON 8500這樣的顯卡再加上強勁的CPU和內存,即使是在“heavy”SMOOTHVISION模式下1024X768/32bit運行游戲,速度也還是可以讓人接受的。對那些相對較早的顯卡NVIDIA GeForce2 MX, PowerVR/STM Kyro/Kyro II, SiS 315等等來說,由于本身性能就不是很高,顯卡在普通模式下運行都比較吃力,再加上僅僅支持超級采樣,因此在打開全屏反鋸齒功能后,性能下降的相當厲害。這種情況下,只能是降低分辨率來運行游戲了,想想看800X600分辨率下你得到的卻是1600X1200下的性能和不如1024X768的畫質,那么我們還不如不開反鋸齒功能。游戲畫面質量同FPS總是矛盾的,對于相對有限的計算機性能來說魚和熊掌不兼得。在激烈的CS對戰中又有誰會靜下心來看對面2m內敵人手中的Ak邊角是不是有鋸齒呢?
轉載于:https://www.cnblogs.com/lancidie/archive/2012/01/20/2327953.html
總結
以上是生活随笔為你收集整理的(转)完美画质 3D游戏反锯齿技术浅析 .的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各种学习资料收录
- 下一篇: 如何添加自定义icon