三年架構大革命!R520脫胎換骨全測試
首先我們還是來看一下R520的頂點渲染管線部分,因為如果按照3D圖形處理順序而言,這部分是需要先執(zhí)行的。很早之前,頂點坐標的運算是由CPU完成的,到了GeForce和Radeon以后,圖形芯片便具備了T&L(Transform&Lighting 變換和光照)的功能。
我們注意到,在R520圖形芯片上,頂點渲染單元的數(shù)目為8個,這個數(shù)目是和NVIDIA的G70是相同的,比上一代的R4XX系列的6個增加了兩個。
也許有朋友會問,為什么頂點渲染管線的數(shù)目的增加沒有像素渲染管線的增加那么快,每代產(chǎn)品的增加并不會達到太大的幅度。
這是因為頂點運算的需求是決定于游戲本身的,每一個游戲的3D模型一旦確定,頂點數(shù)目是固定的,有的游戲提供了幾種不同細節(jié)程度的模型供玩家選擇,但是多數(shù)的游戲的模型是固定的,為了保證游戲的性能,游戲開發(fā)者通常會利用貼圖等手段控制模型的3D頂點數(shù)目。游戲在執(zhí)行的過程中,頂點部分的運算也是不會受分辨率,特效等設置而改變的。
所以對于頂點渲染單元,雖然是非常重要,但是卻是需要始終本著夠用的原則進行設計,游戲設計者也通常不會突然設計出對頂點運算要求非常高的游戲來的。這就是為什么我們看到從R9800到X800,到今天的X1800的增長顯得非常平穩(wěn)的原因。

我們看到,在每個頂點運算單元中,都由三部分組成,它們分別是:
- 上圖中橙色的128bit精度的向量(vector)算術運算單元。
- 上圖中紅色的32bit精度的標量(scalar)算術運算單元。
- 上圖中黑色的程序流控制單元(Flow Control)。
前面我們已經(jīng)提到,R520全面支持SM3.0特性,可以執(zhí)行多達1024條指令,借助于程序流控制的功能,可以執(zhí)行的指令數(shù)就達到了無限條。
經(jīng)過前面的頂點渲染單元的處理,每個時刻的3D模型中的頂點的位置和狀態(tài)就被運算出來了,接下來,這部分數(shù)據(jù)被送到了頂點渲染引擎的后半部分:

現(xiàn)在我們就來看看這個部分的四個功能模塊:

隱面消除技術節(jié)省大量資源Backface Cull,這個功能叫做隱面消除,就是將3D模型中,不會顯現(xiàn)在用戶面前的那些三角形去掉,不進行下面的渲染,隱面消除技術能夠非常有效地節(jié)省資源,當年的Kyro顯示芯片就是因為這項技術聲名大噪,雖然Kyro沒有成功,但是這一思想在后來已經(jīng)被NVIDIA和ATI學到了手里。
Clip,這個部分的功能是將位于屏幕邊緣的三角形進行裁剪,將那些三角形重新修正成為和屏幕適合的三角形。
Persctive Divide 這部分是將3D模型中的三角形轉(zhuǎn)換為平面信息重要步驟,這個功能模塊可以稱為透視除法,它將齊次坐標系下的坐標轉(zhuǎn)換為2D坐標。
Viewport Transform 這個部分的功能是將已經(jīng)生成的三角形頂點的2D坐標再進行轉(zhuǎn)換,以便適應新的要求,縮放到小的矩形區(qū)域中。
Setup Engine
經(jīng)過前面的頂點渲染引擎的處理,最基本的每個模型的頂點信息已經(jīng)轉(zhuǎn)換為2D坐標了,但是這個2D坐標并不是最終的畫面分辨率的信息,只是一些點的2D坐標。

如果要進行下一步的操作,就必須進入Setup引擎進行處理。生成最終的每個像素的信息。
Setup,我們最常見的這個詞的意思就是“安裝”,但是在這里我們可以理解成,它用一個網(wǎng)格去比對前面得到的三角形頂點的2D坐標信息,將這些數(shù)據(jù)光柵化,從而得到像素信息,也就是得到了屏幕上每個點的數(shù)據(jù)信息。

用網(wǎng)格將的頂點坐標轉(zhuǎn)換為像素坐標進行這部分操作的時候也生成了每個點的Z軸信息,這些信息將被傳輸?shù)絑軸緩沖中,以備后用。
關注我們


