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