抗鋸齒與非等方性過濾

前一頁下一頁

非等方性過濾 (Anisotropic Filtering)

非等方性過濾改善了遊戲裡貼圖物件的清晰度和銳利度。 紋理為將擁有顏色、透明度、反射性及凹凸(法量)等多類資料的影像貼在物體上,並由GPU進行處理,以在螢幕上呈現逼真的外觀。 但在原始維度裡,由於物體的貼圖像素及攝影機間的相對距離會影響觀察到的細節程度,一般的紋理需消耗大量的運算時間,結果就無限制地大量重複在場景裡使用,容易被解讀為浪費處理時間在取得用於3D場景裡不成比例之微小表面上的多個貼圖範例。 為了同時保留效能及畫質,我們運用了多精度材質表(mipmap),為以低解析度預先進行渲染的主貼圖複製內容,繪圖引擎在合成表面與攝影機間有一定距離時會加以呼叫。 在進行適當過濾的情況下,在場景裡使用多個不用程度的0多精度材質表,對外觀造成微乎其微的影響,同時大幅提升效能。

由於多精度材質表的維度傳統上較原始貼圖的二次方或更小,多精度材質表對單一貼圖像素進行採樣的現有點必須使用過濾法加以補償,以避免發生模糊及其他視覺人造物。 雙線性(Bilinear)過濾為預設值,也是最簡單、消耗最低運算資源的貼圖過濾型態:從繪圖引擎定義的多精度材質表,在螢幕上的目標貼圖像素適當點取得四個貼圖像素樣本,以這些範本的顏色數據之合併結果,計算貼圖像素的最終顏色。 雖然這會造成貼圖角度的扭曲,雙線性過濾僅從繪圖引擎使用多精度材質表進行取樣,代表在任一點呼叫兩個不同多精度材質表尺寸的透視扭曲貼圖情況,會造成呈現的貼圖出現清晰度顯著變化的情況。 為視覺雙線性過濾法接班人的三線性(Trilinear)過濾法,以從兩個最接近的多精度材質表尺寸對目標貼圖像素進行連續採樣和內插(平均)貼圖像素數據,在多精度材質表間流暢進行切換,不過此舉加上雙線性過濾法均認為以方塊呈現貼圖,以極大角度來看貼圖時就會出現畫質變差的情況。 這是因為與從多精度材質表取得的樣本,貼圖像素的深度較深、寬度較窄,分別在採樣不足及過度採樣時即會出現模糊。

非等方性過濾以犧牲掉些許效能的方式,呈現出極佳視覺畫質的效果。 按照計算機科學的定義,非等方性為處理空間裡相異座標值的品質,套用到任何與攝影機絕對垂直的不顯示貼圖上。 如同前述,當採樣的貼圖與攝影機呈現出斜角時,雙線性及三線性過濾法會出現畫質變差的情況,這是因為兩個方法從多精度材質表在假設貼圖像素在渲染空間裡呈現出完美的方型來取得貼圖像素,而這不正確。 畫質變差的情況亦與多精度材質表為等方性或擁有相同維度有關,當貼圖像素為梯形時,在兩個方向即會出現採樣不足的情況。 為了解決這個情況,非等方性過濾按照紋理的透視扭曲率來繪製多精度材質表的高度或寬度,而此比率視指定的最大採樣值進行採樣而定。 可設定非等方性過濾的程度,從1(無縮放)到16之間,訂定多精度材質表按比率縮放的最大程度,不過非等方性過濾通常提供多種二次方的比率,即 2x、4x、8x 及 16x。 設定值間的差距為非等方性過濾對紋理進行過濾的最大角度。 舉例來說: 4x會以2x更陡兩倍的角度來過濾紋理,但仍在2x範圍內套用標準2x過濾至紋理,以獲得最佳效能。 由於套用的角度以指數的方式變小,此為使用更高非等方性過濾設定值的主觀報酬遞減。

可透過3D Settings 單元裡的NVIDIA 控制台來控制非等方性過濾,不過NVIDIA 建議使用者設定由用程式來控制最佳效能與相容性。

抗鋸齒

抗鋸齒(Anti-aliasing),或稱AA,為用以減少出現看起來像是台階,或3D場景裡物體非垂直邊緣之視覺人造物「鋸齒」的渲染技術。 鋸齒(Aliasing)為目前 3D 繪製流程:光柵化(rasterization) ,或是將擁有接近無限大細節的影像轉為離散像素矩陣(顯示器)的結果。 若是通過邊緣的線段佔用半數以上的空間,由於 GPU 只會對像素著色,這項作業會在連續邊緣上產生視覺不一致性,造成我們的眼睛一般認為是平滑連續線段其實是鋸齒狀的邊緣。

一如非等方性過濾,這項技術有多種使用方法,各自帶有優缺點,但是最常用的兩項為超級採樣(supersampling)與多點採樣(multisampling)。 兩項方法最終都達到相同的效果: 按照採樣的鄰近子像素(GPU繪製但不會顯示在螢幕上的虛擬像素),對單一像素產生一個中介顏色,以產生更真實的物體邊緣,但兩者間的差距為取得最終顏色的方法。

超級採樣為一項暴力 AA 法,強迫GPU對影格進行過度採取,或是以等同於解析度乘以採樣率的維度(例如原生解析度為1680x1050,乘以四個樣本=6720x4200)進行繪製,以計算像素的顏色, ,並在進行向下採樣(downsampling)(減少)影格至原始尺寸前,從目標像素四周的樣本取得顏色資料。 在減少影格後套用負值的偏差值,以銳利化所採樣的物體紋理,抵消向下採樣和像素合併產生的模糊。 超級採樣是一款全場景抗鋸齒技術,代表對影格裡的所有像素進行採樣和修正,而非只對物體外緣的像素,它能呈現出極佳的畫質,但GPU必須運算如此大量的資訊,會使得GPU的效能下降。 目前無法從NVIDIA 控制台使用超級採樣抗鋸齒模式。

多點採樣仍像超級採樣會對影格進行過度採樣(以較大的解析度進行繪製),但保留處理時間,每個子像素從採樣像素繼承顏色值,只會指派獨特的深度值給子像素(而超級採樣則是計算每個顏色/深度的值)。 當影格進行向下採樣時,告訴 GPU 要顯示的像素,按照評估深度值來計算最終的顏色: 若子像素的深度不一致,像素會落在邊緣上,且計算有不同深度值的子像素取樣量來修改像素的不透明值來進行著色(對4x來說有100%、75%、50%、25%與 0%)。 這個方法對效能的要求遠低於超級採樣的需求,同時仍提供可接受的影格率,使得多數 3D 遊戲均加以採用。

可透過3D Settings 單元裡的NVIDIA 控制台,在多個採樣率(2x 到16x)控制多點採樣,不過NVIDIA 建議使用者設定由應用程式來控制最佳效能與相容性。

回應