隨著3D技術的發展,3D應用軟件(尤其是3D游戲軟件)的大量涌現,使得3D圖形加速卡成為大家談論的一個熱點,近年來,隨著硬件技術的高速發展,以及微軟Direct 3D的出臺,更加快了3D圖形加速卡大量面市的步伐。以往只能在******圖形工作站和專用電腦中見到的這類圖形卡,今天已逐漸走進我們的辦公室和家庭。相信3D圖形加速卡很快便會成為繼聲音卡和CD-ROM之后的多媒體電腦的又一標準配置。
我們在了解3D加速卡及其相關技術時,往往會頻繁遇到一些抽象的術語,本期特推出“3D圖形加速卡術語大放送”一文,幫助你快速跨入3D之門。
●3D API (3D應用程序接口)
API是Application Programming Interface的縮寫。API是許多程序的集合,一個3D API 能讓編程人員所設計的3D軟件只要調用API內的程序,API就會自動和硬件的驅動程序溝通,啟動3D芯片內強大的3D圖形處理功能。目前幾種主流的3D API有Direct X、OpenGL、3DR、 RenserWare 、 BRender 、 Glide/3Dfx 及QuickDraw 3D Rave等。
●Direct X
微軟公司專為PC 游戲開發的API , 特點是:比較容易控制,可令顯示卡發揮不同的功能,與Windows 95 和Windows NT操作系統兼容性好, 而且目前基本上是免費使用的(以后就難說了)。在Direct X 5. 0 中共分六個部分: DirectDraw管理游戲的視頻輸出、Direct3D管理游戲的3D圖形、DirectPlay 管理游戲的網絡通訊、 DirectSound 管理游戲的聲音輸出、 DirectInput 管理游戲的搖桿控制、DirectSetup 管理游戲的安裝。
●OpenGL (開放式圖形界面)
由Silicon Graphics公司(即大名鼎鼎的SGI)開發,能夠在Windows 95、Windows NT、 Macos 、Beos、OS/2、以及Unix上應用的API。 它除了提供許多圖形運算功能外,也提供了不少圖形處理功能。由于OpenGL起步較早,一直用于******圖形工作站,其3D圖形功能很強,超過Direct X許多,可******限度地發揮WooDoo、POWER VR等超級3D芯片的巨大潛力。因此許多游戲開發公司和圖形軟件開發公司強烈要求微軟公司在Window的下一個版本中加入對OpenGL的支持。目前,這一合理要求已經被微軟公司接受,他們將在Windows 98中同時支持Direct X和OpenGL。
●ALPHA BIENDING (ALPHA值后處理)
簡單地說這是一種讓3D物件產生透明感的技術。一個在屏幕上顯示的3D物件,每個像素中通常附有紅、綠、藍(RGB)三組數值。若3D環境中允許像素能擁有一組 Alpha值,我們就稱它擁有一個Alpha Channel。Alpha值記載像素的透明度。這樣一來使得每一個物件都可以擁有不同的透明程度。Alpha blending這個功能,就是處理兩個物件在屏幕畫面上疊加的時候,將Alpha值考慮在內, 使其呈現接近真實******的效果。
●Anti-aliasing (抗鋸齒處理)
應用調色技術將圖形邊緣的“鋸齒”緩和,在視覺上得到一種平滑邊緣的效果。
●DEPTH CUEING (景深效果處理)
景深效果處理則是當物件遠離觀測者時,降低物件顏色與亮度的一項功能。例如,當一個物體離我們的視線越來越遠時,它看起來就會越來越模糊。
●FOG EFFECT (霧化效果處理)
顧名思義,它的功能就是制造一塊指定的區域籠罩在一股煙霧彌漫之中的效果,程序設計師可以自由調整霧的范圍、程度、顏色等參數,再交由3D芯片負責將結果計算出來。
Depth Cueing和Fog Effect功能, 對于決定“立體空間”的外觀顯示有相當大的幫助,讓虛擬出來的世界更加接近真實的世界。
●HEIDI
Heidi的定位在開發3D圖形應用的許多方面, 它扮演著協調動作的重要角色,是由Autodesk公司提出來的規格。就圖形處理工作的管理方面,如算圖、著色、復制等作業,以及內部的信息傳輸,Heidi 提供給應用軟件一種動態化組織架構的管理方式。目前,采用 Heidi 系統的應用程序,有Kinetix的3D Studio MAX動畫制作程序,和Autodesk為 AutoCAD R13開發的WHIP加速驅動程序。
●MIP MAPPING (貼圖處理)
在顯示3D圖像時,MIP貼圖處理非常重要。 這項材質貼圖的技術,是依據不同精度的要求,而使用不同版本的材質圖樣進行貼圖。當物件移近或遠離觀測者時,會在物體表面貼上相對應的材質圖案,于是讓物體呈現出更加真實的效果。例如:物件逐漸遠離,依據這種處理方式,程序就會貼上較單純、細致度較低的材質圖樣,進而提高圖形處理的整體效率。
●SHADING:FLAT,GOURAUD,AND TEXTURE MAPPING (著色處理:平面著色、 高氏著色及材質貼圖)
絕大多數的3D物體是由多邊形(polygon)所構成的,它們都必須經過某些著色處理,才不會以線結構(wire frame)的面目示人。Flat shading是***簡單,也是***快速的著色方法,每個多邊形都會被指定一個單一且沒有變化的顏色。這種方法雖然會產生出不真實的效果,但非常適用于快速成像作業(quick rendering)及其它要求速度重于細致度的場合。Gouraud Shading就稍為好一點。在多邊形上的每一點都會被指定一組色調(hue)值, 同時將多邊形著上平順的漸層色。
●TEXTURE MAPPING (材質貼圖)
是在物體著色方面最引人注目,也是最擬真的方法,同時也多為目前的游戲軟件所采用。一張平面圖像(可以是數字化圖像、小圖標或點陣位圖)會被貼到多邊形上。
●VIDEO TEXTURE MAPPING (動態材質貼圖)
是目前******的材質貼圖效果,具有此種功能的圖形圖像加速卡,采用高速的圖像處理方式,將一段連續的圖像(可能是即時運算或來自一個AVI或MPEG的檔案)以材質的方法處理,然后貼到3D物件的表面上去。例如在賽車游戲中,在擋風玻璃上貼一段連續的天空動畫,就能做出類似即時反射環境貼圖的效果。
●PERSPECTIVE CORRECTION (透視角修正處理)
要讓一個經過材質貼圖處理的3D物件具備相當真實的外貌,這項處理不可缺少。它采用數學運算的方式,以確保貼在物件上的部分影像圖會向透視的消失方向貼出正確的收斂。由于這項工作十分依賴處理器,所以對新一代的3D加速器而言,這個功能也是相當重要。有了它,3D加速器才能保持圖形的真實效果。我們以風靡******的3D冒險游戲《古墓麗影2》中的圖形為例,在圖一中由于關閉了3D加速卡上“透視角修正”功能,人物所站的石板地面線條出現嚴重的彎曲變形;而圖二中打開了3D加速卡上“透視角修正”功能,石板地面線條便保持了真實的效果。
●TEXTURE MAP INTERPOLATION (材質影像插補處理即濾化處理)
當材質被貼到屏幕所顯示的一個3D模型上時,材質處理器必需決定每個圖素要貼到的像素位置。由于材質是2D圖片,而模型是3D物件,所以圖素的范圍與像素范圍通常不能很好吻合。此時要解決這個像素的貼圖問題,就得用插補處理的方式來解決。而這種處理的方式共分三種:Nearest Neighbor,Bilinear以及Trilinear。
●NEAEST NEIGHBOR (近鄰取樣處理)
是一種較簡單的材質影像插補的處理方式。使用包含像素***多部份的圖素來貼圖。這種處理方式速度比較快,常被用于3D游戲開發,不過圖形的品質較差。
●BILINEAR LNTERPOLATION (雙線性插補處理)
是一種較好的材質影像插補處理方式,能夠先找出***近像素的四個圖素,然后在它們之間作差補效果,最后產生的結果才會被貼到像素的位置上,這樣,可以避免看到大塊的像素呈現到螢幕上,就像在觀察近距離圖形時常常出現的“馬賽克”現象。這種處理方式適用于有一定景深的靜態影像,不過無法提供影像的******品質,同時也不適用于移動中的物件。我們還是采用《古墓麗影2》的圖像來說明:在圖三中,由于關閉了3D加速卡上的“雙線性插補”功能,在人物身后左邊的木樁上出現了明顯的“馬賽克”現象。而在圖四中,我們將3D加速卡上“雙線性插補”功能打開,于是木樁上的“馬賽克”現象消失了。
●TRILNEAR LNTERPOLATION (三線性插補處理)
是一種更復雜的材質影像插補處理方式。會用到相當多的材質影像,而每張的大小恰好會是另一張的四分之一。例如:有一張材質影像是512×512個圖素,第二張就會是256×256個圖素,第三張便是128×128個圖素...等等,***小的一張是1×1,使用這些多重解析度的材質影像,當遇到場景較深、較大時(如飛行模擬),就能提供高品質的貼圖效果。三線性插補處理比雙線性處理需要更大的計算量,而且需要更大的存儲器時鐘帶寬。但是Trilinear Interpolation可以提供******的貼圖品質。
●FRAME RATE (畫面更新率)
熒光屏上畫面更新的速度,其單位為FPS(幀每秒),FPS越高畫面越流暢。
●FRAME BUFFER (圖形畫面緩沖區)
該區域主要用于存儲可顯示的圖形信息, 它決定了可顯示的******分辨率與******彩色數量。
●DOPTH BUFFERING (雙重緩沖區處理)
絕大多數支持OpenGL的3D加速卡都會提供兩組圖形畫面信息,一組顯示,另一組備用,這兩組圖形畫面信息通常被看著front buffer和back buffer。這項功能讓顯示卡用front buffer存放正在顯示的這格畫面,而同時下一格畫面已經在back buffer待命。 然后顯示卡將兩個buffer 互換,back buffer的畫面顯示出來,且同時再在front buffer中畫好下一格待命,如此形成一種互補的工作方式,迅速對畫面的快速改變做出反應。
●RAMDAC (存儲器數模轉換速度)
表示將存儲器圖形數據轉換成顯示器上可見的像素光點的轉換速度, 單位為MHz。其工作速度越高,頻帶越寬,高分辨率時的畫面質量越好。
●Z BUFFER (Z 緩存)
在3D環境中,每個像素會利用一組數據資料用來定義像素在顯示時的縱深度(即Z軸座標值)。Z Buffer所用的位數越高, 則代表該顯示卡所提供的物件縱深感也越******。一般的3D加速卡僅能支持到16位或24位的Z Buffer,對于普通的3D模型而言這也算足夠了,不過高級的3D卡更可支持到32位的Z Buffer。對一個含有很多物體連接的較復雜的3D模型,能擁有較多的位數來表現深度感是相當重要的,能避免閃爍現象發生。
●Z-BUFFERING (Z 緩存處理)
Z-Buffering是在為物件進行著色時, 執行“隱藏面******”工作的一項技術,使隱藏物件背后的部份不會被顯示出來。