在圖形芯片領(lǐng)域,nVidia是一個(gè)后來(lái)者,它的歷史僅相當(dāng)于ATi的一半。1993年初,NVIDIA 由 Jen-Hsun Huang,,Chris Malachowsky和 Curtis Priem 三人共同創(chuàng)辦,但是,nVidia又一度是圖形處理芯片領(lǐng)域的最強(qiáng)者,nVIDIA出品的Linux驅(qū)動(dòng)安裝軟件工具包將自動(dòng)檢查計(jì)算機(jī)的各種細(xì)節(jié),并能自動(dòng)安裝好各種驅(qū)動(dòng)程序。這里介紹一下驅(qū)動(dòng)安裝、升級(jí)的簡(jiǎn)單過(guò)程。Linux系統(tǒng)自帶的驅(qū)動(dòng)程序只包括了nVIDIA 2D加速,如果需要獲取更好的3D加速效果,需要安裝nVIDIA專用驅(qū)動(dòng)軟件工具包。3D 硬件加速在需要繪制三度空間對(duì)象的時(shí)候是非常寶貴的,例如游戲、三維CAD、以及 3D 成像。本文應(yīng)用環(huán)境是Red Had Enterprise Linux 4.0、nVIDIA顯卡型號(hào):華碩N6200/TD/128M(6200AGP)。
一、準(zhǔn)備工作
在配置nVIDIA顯卡 之前, 您需要了解所安裝的系統(tǒng)的下列信息:顯示器規(guī)格,顯示卡的芯片類型,顯示卡的顯存容量, 顯示器的規(guī)格被 X11 用來(lái)決定顯示的分辨率和刷新率。這些規(guī)格通??梢詮娘@示器所帶的文檔中, 以及制造商的網(wǎng)站找到。 需要知道兩個(gè)數(shù)字范圍:垂直刷新率和水平刷新率。 顯示卡的芯片類型將決定 X11 使用什么模塊來(lái)驅(qū)動(dòng)圖形硬件。 絕大多數(shù)的硬件都能被自動(dòng)檢測(cè),但是了解它在自動(dòng)檢測(cè)出錯(cuò)的時(shí)候還是很有用處的。顯示卡的顯存大小決定了系統(tǒng)支持的分辨率和顏色深度。了解這些限制非常重要。因?yàn)榘惭b驅(qū)動(dòng)程序可能需要配合核心來(lái)編譯,所以會(huì)使用到內(nèi)核源代碼,此外,也需要編譯器 ( compiler ) 的幫助,因此,先確定您的 Linux 系統(tǒng)當(dāng)中已經(jīng)下列軟件的存在 :kernel-source 、kernel 、gcc 、make。 打開(kāi)一個(gè)終端,使用命令檢查:
# rpm -qa | grep gcc;rpm -qa | grep make;rpm -qa | grep kernel
如果沒(méi)有3D API在開(kāi)發(fā)程序時(shí),程序員必須要了解全部的顯卡特性,才能編寫出與顯卡完全匹配的程序,發(fā)揮出全部的顯卡性能。而有了3D API這個(gè)顯卡與軟件直接的接口,程序員只需要編寫符合接口的程序代碼,就可以充分發(fā)揮顯卡的不必再去了解硬件的具體性能和參數(shù),這樣就大大簡(jiǎn)化了程序開(kāi)發(fā)的效率。 同樣,顯示芯片廠商根據(jù)標(biāo)準(zhǔn)來(lái)設(shè)計(jì)自己的硬件產(chǎn)品,以達(dá)到在API調(diào)用硬件資源時(shí)最優(yōu)化,獲得更好的性能。有了3D API,便可實(shí)現(xiàn)不同廠家的硬件、軟件最大范圍兼容。比如在最能體現(xiàn)3D API的游戲方面,游戲設(shè)計(jì)人員設(shè)計(jì)時(shí),不必去考慮具體某款顯卡的特性,而只是按照3D API的接口標(biāo)準(zhǔn)來(lái)開(kāi)發(fā)游戲,當(dāng)游戲運(yùn)行時(shí)則直接通過(guò)3D API來(lái)調(diào)用顯卡的硬件資源。 目前個(gè)人電腦中主要應(yīng)用的3D API有DirectX和OpenGL。DirectX目前已經(jīng)成為游戲的主流,市售的絕大部分主流游戲均基于DirectX開(kāi)發(fā),例如《帝國(guó)時(shí)代3》、《孤島驚魂》、《使命召喚2》、《Half Life2》等流行的優(yōu)秀游戲。而OpenGL目前則主要應(yīng)用于專業(yè)的圖形工作站,在游戲方面歷史上也曾經(jīng)和DirectX分庭抗禮,產(chǎn)生了一大批的優(yōu)秀游戲,例如《Quake3》、《Half Life》、《榮譽(yù)勛章》的前幾部、《反恐精英》等,目前在DirectX的步步進(jìn)逼之下,采用OpenGL的游戲已經(jīng)越來(lái)越少,但也不乏經(jīng)典大作,例如基于OpenGL的《DOOM3》以及采用DOOM3引擎的《Quake4》等,無(wú)論過(guò)去還是現(xiàn)在,OpenGL在游戲方面的主要代表都是著名的ID Software。
·OpenGL
繼DirectX后,OpenGL可說(shuō)是下一個(gè)最受歡迎的3D API。其實(shí)OpenGL比DirectX存在的時(shí)間更久,相對(duì)于DirectX只可以應(yīng)用在微軟的平臺(tái),OpenGL則可以應(yīng)用在很多不同的操作系統(tǒng)上。目前,大多數(shù)Linux下的3D加速游戲采用的都是OpenGL,因此對(duì)于nVIDIA最新的驅(qū)動(dòng)程序,只需做很小的改動(dòng)就可以適于大多數(shù)的游戲。Linux下的3D API是基于OpenGL的。OpenGL是個(gè)專業(yè)的3D程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層3D圖形庫(kù)。OpenGL的前身是SGI公司為其圖形工作站開(kāi)發(fā)的IRIS GL。IRIS GL是一個(gè)工業(yè)標(biāo)準(zhǔn)的3D圖形軟件接口,功能雖然強(qiáng)大但是移植性不好,于是SGI公司便在IRIS GL的基礎(chǔ)上開(kāi)發(fā)了OpenGL。
OpenGL的英文全稱是"Open Graphics Library",顧名思義,OpenGL便是"開(kāi)放的圖形程序接口"。雖然DirectX在家用市場(chǎng)全面領(lǐng)先,但在專業(yè)高端繪圖領(lǐng)域,OpenGL是不能被取代的主角。 OpenGL是個(gè)與.硬件無(wú)關(guān)的軟件接口,可以在不同的平臺(tái)如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之間進(jìn)行移植。因此,支持OpenGL的軟件具有很好的移植性,可以獲得非常廣泛的應(yīng)用。由于OpenGL是3D圖形的底層圖形庫(kù),沒(méi)有提供幾何實(shí)體圖元,不能直接用以描述場(chǎng)景。但是,通過(guò)一些轉(zhuǎn)換程序,可以很方便地將AutoCAD、3DS等3D圖形設(shè)計(jì)軟件制作的DFX和3DS模型文件轉(zhuǎn)換成OpenGL的頂點(diǎn)數(shù)組。