DirectX 9.0(DirectX9)

DirectX 9.0

DirectX9一般指本詞條

DirectX 9.0是2002年底DirectX 技術的最新版本,為使用DirectX 的遊戲和其他多媒體軟體程式提供更高性能。

基本介紹

  • 軟體名稱:DirectX 9.0
  • 更新時間:2002年
  • 軟體語言:中文
  • 軟體授權:免費
性能提升,版本沿革,1.0,2.0,3.0,5.0,6.0,7.0,8.0,9.0,10.0,

性能提升

DirectX 9中PS單元的渲染精度已達到浮點精度,傳統的硬體T&L單元也被取消。全新的VertexShader(頂點著色引擎)編程將比以前複雜得多,新的VertexShader標準增加了流程控制,更多的常量,每個程式的著色指令增加到了1024條。
PS 2.0具備完全可程式的架構,能對紋理效果即時演算、動態紋理貼圖,還不占用顯存,理論上對材質貼圖的解析度的精度提高無限多;另外PS1.4隻能支持 28個硬體指令,同時操作6個材質,而PS2.0卻可以支持160個硬體指令,同時操作16個材質數量,新的高精度浮點數據規格可以使用多重紋理貼圖,可操作的指令數可以任意長,電影級別的顯示效果輕而易舉的實現。
VS 2.0通過增加Vertex程式的靈活性,顯著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程式代替以前專用的單獨著色程式,效率提高許多倍;增加循環操作指令,減少工作時間,提高處理效率;擴展著色指令個數,從128個提升到256個。
增加對浮點數據的處理功能,以前只能對整數進行處理,這樣提高渲染精度,使最終處理的色彩格式達到電影級別。突破了以前限制PC圖形圖象質量在數學上的精度障礙,它的每條渲染流水線都升級為128位浮點顏色,讓遊戲程式設計師們更容易更輕鬆的創造出更漂亮的效果,讓程式設計師編程更容易。

版本沿革

1.0

第一代的DirectX很不成功,推出時眾多的硬體均不支持,當時基本都採用專業圖形API-OpenGL,缺乏硬體的支持成了其流行的最大障礙。
DirectX 1.0版本是第一個可以直接對硬體信息進行讀取的程式。它提供了更為直接的讀取圖形硬體的性能(比如:顯示卡上的塊移動功能)以及基本的聲音和輸入設備功能(函式),使開發的遊戲能實現對二維(2D)圖像進行加速。這時候的DirectX不包括現在所有的3D功能,還處於一個初級階段。

2.0

DirectX 2.0在二維圖形方面做了些改進,增加了一些動態效果,採用了Direct 3D的技術。這樣DirectX 2.0與DirectX 1.0有了相當大的不同。在DirectX 2.0中,採用了“平滑模擬和RGB模擬”兩種模擬方式對三維(3D)圖像進行加速計算的。DirectX 2.0同時也採用了更加友好的用戶設定程式並更正了應用程式接口的許多問題。從DirectX 2.0開始,整個DirectX的設計架構雛形就已基本完成。

3.0

DirectX 3.0的推出是在1997年最後一個版本的Windows95發布後不久,此時3D遊戲開始深入人心,DirectX也逐漸得到軟硬體廠商的認可。97年時圖形應用程式編程接口標準共有三個,分別是專業的OpenGL接口,微軟的DirectX D接口和3DFX公司的Glide接口。而那時的3DFX公司是最為強大的顯示卡製造商,它的Glide接口自然也受到最廣泛的套用,但隨著3DFX公司的沒落,Voodoo顯示卡的衰敗,Glide接口才逐漸消失了。
DirectX 3.0是DirectX 2.0的簡單升級版,它對DirectX2.0的改動並不多。包括對DirectSound(針對3D聲音功能)和DirectPlay(針對遊戲/網路)的一些修改和升級。DirectX 3.0集成了較簡單的3D效果,還不是很成熟。

5.0

微軟公司並沒有推出DirectX 4.0,而是直接推出了DirectX 5.0。此版本對Direct3D做出了很大的改動,加入了霧化效果、Alpha混合等3D特效,使3D遊戲中的空間感和真實感得以增強,還加入了S3的紋理壓縮技術
同時,DirectX 5.0在其它各組件方面也有加強,在音效卡、遊戲控制器方面均做了改進,支持了更多的設備。因此,DirectX發展到DirectX 5.0才真正走向了成熟。此時的DirectX性能完全不遜色於其它3D API,而且大有後來居上之勢。

6.0

DirectX 6.0推出時,其最大的競爭對手之一Glide,已逐步走向了沒落,而DirectX則得到了大多數廠商的認可。DirectX6.0中加入了雙線性過濾、三線性過濾等最佳化3D圖像質量的技術,遊戲中的3D技術逐漸走入成熟階段。

7.0

DirectX 7.0最大的特色就是支持T&L,中文名稱是“坐標轉換和光源”。3D遊戲中的任何一個物體都有一個坐標,當此物體運動時,它的坐標發生變化,這指的就是坐標轉換;3D遊戲中除了場景+物體還需要燈光,沒有燈光就沒有3D物體的表現,無論是實時3D遊戲還是3D影像渲染,加上燈光的3D渲染是最消耗資源的。雖然OpenGL中已有相關技術,但此前從未在民用級硬體中出現。
在T&L問世之前,位置轉換和燈光都需要CPU來計算,CPU速度越快,遊戲表現越流暢。使用了T&L功能後,這兩種效果的計算用顯示卡的GPU來計算,這樣就可以把CPU從繁忙的勞動中解脫出來。換句話說,擁有T&L顯示卡,使用DirectX 7.0,即使沒有高速的CPU,同樣能流暢的跑3D遊戲。

8.0

DirectX 8.0的推出引發了一場顯示卡革命,它首次引入了“像素渲染”概念,同時具備像素渲染引擎(Pixel Shader)與頂點渲染引擎(Vertex Shader),反映在特效上就是動態光影效果。同硬體T&L僅僅實現的固定光影轉換相比,VS和PS單元的靈活性更大,它使GPU真正成為了可程式的處理器。這意味著程式設計師可通過它們實現3D場景構建的難度大大降低。通過VS和PS的渲染,可以很容易的寧造出真實的水面動態波紋光影效果。此時 DirectX的權威地位終於建成。

9.0

2002年底,微軟發布DirectX9.0。DirectX 9中PS單元的渲染精度已達到浮點精度,傳統的硬體T&L單元也被取消。全新的VertexShader(頂點著色引擎)編程將比以前複雜得多,新的VertexShader標準增加了流程控制,更多的常量,每個程式的著色指令增加到了1024條。
PS 2.0具備完全可程式的架構,能對紋理效果即時演算、動態紋理貼圖,還不占用顯存,理論上對材質貼圖的解析度的精度提高無限多;另外PS1.4隻能支持 28個硬體指令,同時操作6個材質,而PS2.0卻可以支持160個硬體指令,同時操作16個材質數量,新的高精度浮點數據規格可以使用多重紋理貼圖,可操作的指令數可以任意長,電影級別的顯示效果輕而易舉的實現。
VS 2.0通過增加Vertex程式的靈活性,顯著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程式代替以前專用的單獨著色程式,效率提高許多倍;增加循環操作指令,減少工作時間,提高處理效率;擴展著色指令個數,從128個提升到256個。
增加對浮點數據的處理功能,以前只能對整數進行處理,這樣提高渲染精度,使最終處理的色彩格式達到電影級別。突破了以前限制PC圖形圖象質量在數學上的精度障礙,它的每條渲染流水線都升級為128位浮點顏色,讓遊戲程式設計師們更容易更輕鬆的創造出更漂亮的效果,讓程式設計師編程更容易。
顯示卡所支持的DirectX版本已成為評價顯示卡性能的標準,從顯示卡支持什麼版本的DirectX,用戶就可以分辨出顯示卡的性能高低,從而選擇出適合於自己的顯示卡產品。

10.0

繼續加強Shader功能
很多用戶都在抱怨3D遊戲中的畫面總是難以呈現出如同電影般的渲染效果,而此時的罪魁禍首不僅僅是顯示卡和CPU,本身的渲染方式也是造成低效率的重要原因。在DirectX 10時代,所有的顯示卡GPU管線將會被賦予更加完善的Shader功能運算。以我們最近經常看到的Shader Model 3.0為例,這僅僅在部分場景才能展現出效果,遊戲開發商也不敢大量套用。而當Direct X10要求所有的GPU管線加上豐富的Shader功能運算之後,所謂的Shader將不再是顯示卡的一些特殊功能,而是一項基本功能,而且貼圖效果也將得到極大的改善。
毫無疑問,這將令市場上所有遵循DirectX 10 API標準而設計的顯示卡甚至集成顯示卡有著強大的Shader運算能力。一旦擁有如此強大的“民眾基礎”,遊戲開發商也就敢於大量使用這些3D特效。與此同時,微軟還增加的DirectX的可程式語法結構,令各種特效的運用更加簡易實現,這對於提高3D遊戲畫面效果將會有巨大的共享。除此以外,Direct X10還支持Shader Model 4.0,意味著它的渲染效果將會進一步提升。事實上,DirectX 10對於畫質方面的其它貢獻也有不少,其中“Geometry Shader”(幾何著色)便是最顯著的一點。通過引入新的渲染模型,開發人員可以利用整體多邊形渲染加速圖形運算,新著色模式將大幅提高很多3D立體作圖功能效率,還將允許GPU獨立於CPU外完成數據循環工作,使系統完全脫離CPU束縛。

相關詞條

熱門詞條

聯絡我們