適者生存!顯卡 DirectX API 進(jìn)化論
DirectX 8.0 的每個(gè)組件都包括了重要的新特性,它們極大地增強(qiáng)了 DirectX 的功能。圖形、音頻和網(wǎng)絡(luò)三個(gè)組件被徹底重寫(xiě)。DirectInput 包括了新的配置功能、操作映射和更好的國(guó)際化支持。DirectShow 第一次作為 DirectX 的一部分出現(xiàn)在運(yùn)行時(shí)和 SDK 中。
現(xiàn)在看來(lái),DirectX 8.0架構(gòu)重要性可以和DirectX 7.0相提并論,T&L的引入第一次將顯卡從一個(gè)單純的打印機(jī)變成了有主動(dòng)操作功能的圖形處理器,而DirectX 8.0 shader的引入則將運(yùn)算能力這個(gè)無(wú)限可能的大門(mén)放置在了顯卡面前,透過(guò)運(yùn)算能力,人們終于可以準(zhǔn)確并且實(shí)時(shí)的操作紋理上像素的色彩,并最終透過(guò)正確的色彩表達(dá)正確的效果了。
● DirectX 8.0:引入像素和頂點(diǎn)兩大渲染管線(xiàn)
面向圖形計(jì)算,讓GPU逐漸找到了自己的方向,那就是給予用戶(hù)更真更快地視覺(jué)體驗(yàn),但是GPU架構(gòu)也遇到一些問(wèn)題亟待解決。首要問(wèn)題就是,要實(shí)現(xiàn)更加復(fù)雜多變的圖形效果,不能僅僅依賴(lài)三角形生成和固定光影轉(zhuǎn)換,雖然當(dāng)時(shí)游戲畫(huà)面的提高基本上都是通過(guò)大量的多邊形、更復(fù)雜的貼圖來(lái)實(shí)現(xiàn)的。
但后期的發(fā)展中,頂點(diǎn)和像素運(yùn)算的需求量猛增。每個(gè)頂點(diǎn)都包含許多信息,比頂點(diǎn)上的紋理信息,散光和映射光源下表現(xiàn)的顏色,所以在生成多邊形的時(shí)候帶上這些附加運(yùn)算,就可以帶來(lái)更多的效果,但這也更加考驗(yàn)頂點(diǎn)和像素計(jì)算能力。
2001年微軟發(fā)布了DirectX 8.0,一場(chǎng)新的顯卡革命開(kāi)始,它首次引入了ShaderModel的概念,ShaderModel就相當(dāng)于是GPU的圖形渲染指令集。其中像素渲染引擎(Pixel Shader)與頂點(diǎn)渲染引擎(Vertex Shader)都是ShaderModel 1.0的一部分,此后每逢DirectX有重大版本更新時(shí),ShaderModel也會(huì)相應(yīng)的升級(jí)版本,技術(shù)特性都會(huì)大大增強(qiáng)。
與DX7引入硬件T&L僅僅實(shí)現(xiàn)的固定光影轉(zhuǎn)換相比,VS和PS單元的靈活性更大,它使GPU真正成為了可編程的處理器,時(shí)至今日DX11時(shí)代ShaderModel都在不停地更新,以便渲染出更逼真更完美的畫(huà)面。這意味著程序員可通過(guò)它們實(shí)現(xiàn)3D場(chǎng)景構(gòu)建的難度大大降低,但在當(dāng)時(shí)來(lái)說(shuō)可編程性還是很弱,GPU的這一特性還是太超前了。
DX8動(dòng)態(tài)光影效果展示:變色龍和不同角度的人臉
DirectX 8.0當(dāng)中的Pixel Shader和Vertex Shader的引入,使得GPU在硬件邏輯上真正支持像素和頂點(diǎn)的可編程,反映在特效上就是動(dòng)態(tài)光影效果,當(dāng)時(shí)波光粼粼的水面都是第一次展現(xiàn)在玩家面前。
在DirectX 8.0推出之后,環(huán)境變化太快,物種進(jìn)化有點(diǎn)跟不上了,當(dāng)時(shí)的DX8顯卡都定位太高,NVIDIA和ATI雙方都沒(méi)有推出過(guò)低端DX8顯卡,而支持DX7的上一代顯卡依然占據(jù)著市場(chǎng)的主導(dǎo),直到DX9誕生之后,昔日高端的DX8顯卡屈尊降貴,這是后話(huà)……
關(guān)注我們
