請問反鋸齒AA AF的中文名稱?

joyce7156

初級會員
已加入
7/7/04
訊息
47
互動分數
0
點數
0
還有我看別人的測試都只條到8x 8x
是這樣的嗎?好像有一個可以條到16x
 

MUS

為了更安全的世界? €?努力
已加入
3/6/04
訊息
1,969
互動分數
0
點數
0
年齡
47
網站
造訪網站
AA即是您提到的反鋸齒,Anti-Aliasing,以Tom`s Hardware的圖例來說
aa1.gif

左邊未進行處理,因此鋸齒狀較為明顯,右邊則是已經處理過的影像∼

AF=Anisotropic (中間或可夾雜一個Texture) Filter的縮寫,中文名稱為非等方性(材質)過濾,
舉NV NEWS的圖示來說:
q3_bilinear_s.jpg

此為Bilinear Filtering
q3_anis64_s.jpg

此為64 sample Anisotropic ,可以看到兩者的遠端貼圖詳細度之差異。


再舉例兩者結合的部分,下圖一樣為NV NEWS裡頭的圖示:
No AA + Trilinear Filtering
alice_trilinear_s.jpg

可見到物體邊緣有鋸齒,另外裡頭的文字較為模糊
alice_anis16_4xaa_s.jpg

此為4X AA+ 16 Sample Anisotropic,可以看到改善很多∼
 

jedyboy

初級會員
已加入
1/27/05
訊息
17
互動分數
0
點數
0
年齡
48
:MMM:
太棒了,感謝分享這個有用的知識!
 

joyce7156

初級會員
已加入
7/7/04
訊息
47
互動分數
0
點數
0
感謝MUS大大~~我終於了解了
那如果玩遊戲要開AA AF是要先條好在進去遊戲嗎?
還是有的可以從遊戲裡面條?
 

jongjye

進階會員
已加入
10/17/03
訊息
434
互動分數
0
點數
0
年齡
45
網站
造訪網站
Originally posted by joyce7156@Jan 28 2005, 12:54 PM
感謝MUS大大~~我終於了解了
那如果玩遊戲要開AA AF是要先條好在進去遊戲嗎?
還是有的可以從遊戲裡面條?
應該是先調好再進遊戲沒錯吧......
 

joyce7156

初級會員
已加入
7/7/04
訊息
47
互動分數
0
點數
0
那大部分的人都是調多少呢?
4x 4x

8x 8x
?
我的是p4 3.2g msi 6600gt agp
3dmark03 8700分左右
 

troublebear

讀書人..
已加入
3/15/04
訊息
1,357
互動分數
0
點數
0
年齡
41
網站
www.wretch.cc
讚~

好解釋~

不過可以開這些東西的先提條件是..

電腦硬體要夠罩阿.不然只能耍lag ;cr;
 

Sander

高級會員
已加入
1/26/04
訊息
673
互動分數
0
點數
0
年齡
44
網站
造訪網站
關於Texture Filtering
可以參考小弟的拙作
只是小弟並非專業..若有講錯還望各位大大不吝指正

代碼:
 小弟才疏學淺, 自己知道的講一下
如有講錯..還請版友指正

首先是材質貼圖
顯示卡一個重要的工作就是把圖貼到空空的骨架上去
但是因為要成的像是3D的
所以要把一張平面的圖..貼到有遠近之分的東西上去
勢必要對那張圖做一點處理
這就叫做材質過濾
那張"圖"..就是我們所稱的材質
就好像工藝課有那種木紋貼紙
貼到東西上面去就會讓它看起來像是木頭做的

關於材質的過濾
有好幾種做法
講講三個大家最常看到的
雙線性(Bilinear filtering), 三線性(Trilinear filtering), 非等相性過濾(Anisotropic filtering)

當談到Bilinear和Trilinear的時候
要講到一個東西叫做Mipmap
不管在做Bilinear filtering或是Trilinear filtering的時候
顯示卡首先要對材質做一件事就是Mipmapping
就是把那張材質弄成像金字塔一樣
比如說
這張材質原封不動放在金字塔的最下層, 叫level0
再把這張材質裡面每相鄰四個像素做平均 ( 這樣它的長跟寬會各減一半 )
會做出一張看起來圖案很像但是大小只有原本四分之一的圖
把這張圖放在level0的上面, 就是level1
這樣一直做下去, 把小張的放在大張的上面
一直到長跟寬有一邊的大小縮到只剩下一個像素為止
這樣的一個金字塔..我們稱做Mipmap
當然不一定要用每相鄰四個像素做平均這種方法來產生較小的材質
有更好的方法(像是使用Gaussian Filter)

做好了以後
在要貼圖的時候
顯示卡會去檢查要貼上去的那一個顯示像素
在材質中佔了多少的面積
用這個來判斷要從Mipmap的哪一個level去找材質來貼圖
Bilinear filtering和Trilinear filtering便是在這個步驟上有差異
Bilinear filtering會找到Mipmap中的一個level
然後以長跟寬兩個方向為軸去對"顯示像素在材質上佔的面積"去做Filtering的動作
來得到該顯示像素的值
因為只以兩個方向(長跟寬), 所以叫做Bilinear Filtering
Trilinear Filtering則是會再多一個自由度去做Filtering
這個自由度就是那個金字塔的高
也就是說Trilinear可以抓相鄰的level一起來做Filtering
這樣的顯示效果當然更好
因為用了三個方向(材質的長跟寬,以及Mipmap裡的高), 所以叫做Trilinear Filtering

 而Anisotropic Filtering
是一個比較新的技術
它的想法是
只對"視角"去做Filtering
視角就是貼圖的部份在螢幕上顯示相對的角度
比如說如果我站在一面牆的旁邊
沿著牆面看過去..牆面相對於我的角度是很斜的
如果我們可以沿著視線的角度
在材質上畫出一條相對應的線
然後在落在該線上取兩個點
對這兩個點去做filtering來得到貼圖像素的值
這樣的做法就是Anisotropic Filtering
因為只取兩個點..所以是2X Anisotropic Filtering
如果我在那條線上取了16個點來做filtering
就是16X Anisotropic Filtering了

這樣的做法因為只在"我看過去的方向"上去做filtering
不像Bilinear或Trilinear只要做filtering
就會在每個自由度的方向都做Filtering
所以是"非等向性的", "各異向性的"
也就是為什麼會叫Anisotropic Filtering的原因了

正如同kjzz大所說
開了Texture Filtering後可以看看那種視角很大的東西
比如說剛剛我說的"貼在牆上沿著牆面看過去"
就可以發現遠端的圖會比較清楚
一般來說
效果最好的就是Anisotropic Filtering
開越多點的Anisotropic Filtering效果越好(16X Anisotropic Filtering)
你可以試試看喔

以上這些都是自己有興趣看書看來的
以前在學校也沒有修過相關的課程
如果有說錯的地方
還希望各位版友不吝指正!
 

a720930

初級會員
已加入
12/23/04
訊息
21
互動分數
0
點數
0
Originally posted by Sander@Jan 28 2005, 03:57 PM
關於Texture Filtering
可以參考小弟的拙作
只是小弟並非專業..若有講錯還望各位大大不吝指正

代碼:
 小弟才疏學淺, 自己知道的講一下
如有講錯..還請版友指正

首先是材質貼圖
顯示卡一個重要的工作就是把圖貼到空空的骨架上去
但是因為要成的像是3D的
所以要把一張平面的圖..貼到有遠近之分的東西上去
勢必要對那張圖做一點處理
這就叫做材質過濾
那張"圖"..就是我們所稱的材質
就好像工藝課有那種木紋貼紙
貼到東西上面去就會讓它看起來像是木頭做的

關於材質的過濾
有好幾種做法
講講三個大家最常看到的
雙線性(Bilinear filtering), 三線性(Trilinear filtering), 非等相性過濾(Anisotropic filtering)

當談到Bilinear和Trilinear的時候
要講到一個東西叫做Mipmap
不管在做Bilinear filtering或是Trilinear filtering的時候
顯示卡首先要對材質做一件事就是Mipmapping
就是把那張材質弄成像金字塔一樣
比如說
這張材質原封不動放在金字塔的最下層, 叫level0
再把這張材質裡面每相鄰四個像素做平均 ( 這樣它的長跟寬會各減一半 )
會做出一張看起來圖案很像但是大小只有原本四分之一的圖
把這張圖放在level0的上面, 就是level1
這樣一直做下去, 把小張的放在大張的上面
一直到長跟寬有一邊的大小縮到只剩下一個像素為止
這樣的一個金字塔..我們稱做Mipmap
當然不一定要用每相鄰四個像素做平均這種方法來產生較小的材質
有更好的方法(像是使用Gaussian Filter)

做好了以後
在要貼圖的時候
顯示卡會去檢查要貼上去的那一個顯示像素
在材質中佔了多少的面積
用這個來判斷要從Mipmap的哪一個level去找材質來貼圖
Bilinear filtering和Trilinear filtering便是在這個步驟上有差異
Bilinear filtering會找到Mipmap中的一個level
然後以長跟寬兩個方向為軸去對"顯示像素在材質上佔的面積"去做Filtering的動作
來得到該顯示像素的值
因為只以兩個方向(長跟寬), 所以叫做Bilinear Filtering
Trilinear Filtering則是會再多一個自由度去做Filtering
這個自由度就是那個金字塔的高
也就是說Trilinear可以抓相鄰的level一起來做Filtering
這樣的顯示效果當然更好
因為用了三個方向(材質的長跟寬,以及Mipmap裡的高), 所以叫做Trilinear Filtering

 而Anisotropic Filtering
是一個比較新的技術
它的想法是
只對"視角"去做Filtering
視角就是貼圖的部份在螢幕上顯示相對的角度
比如說如果我站在一面牆的旁邊
沿著牆面看過去..牆面相對於我的角度是很斜的
如果我們可以沿著視線的角度
在材質上畫出一條相對應的線
然後在落在該線上取兩個點
對這兩個點去做filtering來得到貼圖像素的值
這樣的做法就是Anisotropic Filtering
因為只取兩個點..所以是2X Anisotropic Filtering
如果我在那條線上取了16個點來做filtering
就是16X Anisotropic Filtering了

這樣的做法因為只在"我看過去的方向"上去做filtering
不像Bilinear或Trilinear只要做filtering
就會在每個自由度的方向都做Filtering
所以是"非等向性的", "各異向性的"
也就是為什麼會叫Anisotropic Filtering的原因了

正如同kjzz大所說
開了Texture Filtering後可以看看那種視角很大的東西
比如說剛剛我說的"貼在牆上沿著牆面看過去"
就可以發現遠端的圖會比較清楚
一般來說
效果最好的就是Anisotropic Filtering
開越多點的Anisotropic Filtering效果越好(16X Anisotropic Filtering)
你可以試試看喔

以上這些都是自己有興趣看書看來的
以前在學校也沒有修過相關的課程
如果有說錯的地方
還希望各位版友不吝指正!
太過於抽像..=.=
難以想像
如有圖解的話我想我會吸收更多...
 
▌延伸閱讀