FSAA 簡介 [Part 2]
現在我們來看看,在電腦繪圖中,取樣的情形是什麼樣子。為了簡單起見,我們用兩個三角形來做例子。如下圖:
上圖中,灰色的線是像點的邊界,當然,實際上像點是不會有什麼邊界的,就算有也很細,不會這麼粗。這些邊界只是示意用的。每個像點中的小黑點就是取樣點。取樣的時候,就是取這些小黑點上面的顏色,做為整個像點的顏色。所以,取樣的結果如下圖:
我想大家應該都看到鋸齒現象了吧!這就是一般 3D 繪圖中所遇到的情形。為什麼會這樣呢?其實,這是因為我們在取樣之前,少了一個步驟:low pass filter。因此,原來訊號中的高頻部分並沒有去掉,所以才會出現鋸齒現象。對了,所謂的 low pass filter,就是指一個只能讓低頻成分通過的過濾器。詳細的細節就不在這裡說明了。現在只要記住一件事就夠了:box filter 是一種 low pass filter。也就是說,如果我們把一個像點的範圍內,所包含的訊號取其平均值的話,這樣就會是一個 low pass filter。經過這樣的動作,再來做取樣,會得到下圖:
把上面的兩個例子都縮小到實際的大小,會得到下圖:
兩者之間的差異應該是相當明顯吧!
有些讀者可能會對 low pass filter 有疑問。為什麼用了 low pass filter 消除高頻成分就會有比較好的效果呢?實際的理論相當複雜,所以不在這裡多說。不過,如果以人眼實際上的觀察方式來看,倒是很合理的。因為,人眼內部的感光細胞,是會收集它的感光範圍中的所有能量,再送到腦部。所以,可以看成感光細胞其實就已經包含了一個 box filter。因此,在進行取樣之前,先做 box filter 是很合理的做法。
有一點要特別注意:如果顯示系統的解析度非常的高,遠遠超出人眼可以分辨的範圍,那麼 anti-aliasing 的效果就會慢慢消失。以一般習慣上的閱讀距離來說,人眼很難分辨超過 300 DPI 以上的彩色點。也就是說,對一個對角線為 15" 的顯示器來說,如果解析度高達 3,600×2,700 的話,那就沒有做 anti-alias 的必要了,反正人的眼睛也沒辦法看到這麼細的像點。不過,貼圖的 filtering 是不同的事,無論解析度有多高,都需要適當的貼圖 filtering 才不會出現不正常的情形。
[Part 1] [Part 2] [Part 3] [Part 4]
1/18/2001, Ping-Che Chen
Sorry, Traditional Chinese only. This page is encoded in UTF-8.
Copyright© 2000, 2001 Ping-Che Chen
