【基本介紹】
DirectX,(Direct eXtension,簡稱DX)是由微軟公司創(chuàng)建的多媒體編程接口。由C++編程語言實現(xiàn),遵循COM。被廣泛使用于Microsoft Windows、Microsoft Xbox和Microsoft Xbox 360電子游戲開發(fā),并且只能支持這些平臺。最新版本為DirectX 11,創(chuàng)建在最新的Windows 7上。
DirectX 9.0
2002年底,微軟發(fā)布DirectX9.0。DirectX 9中PS單元的渲染精度已達到浮點精度,傳統(tǒng)的硬件T&L單元也被取消。全新的VertexShader(頂點著色引擎)編程將比以前復(fù)雜得多,新的VertexShader標(biāo)準增加了流程控制,更多的常量,每個程序的著色指令增加到了1024條。
PS 2.0具備完全可編程的架構(gòu),能對紋理效果即時演算、動態(tài)紋理貼圖,還不占用顯存,理論上對材質(zhì)貼圖的分辨率的精度提高無限多;另外PS1.4只能支持28個硬件指令,同時操作6個材質(zhì),而PS2.0卻可以支持160個硬件指令,同時操作16個材質(zhì)數(shù)量,新的高精度浮點數(shù)據(jù)規(guī)格可以使用多重紋理貼圖,可操作的指令數(shù)可以任意長,電影級別的顯示效果輕而易舉的實現(xiàn)。
VS 2.0通過增加Vertex程序的靈活性,顯著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程序代替以前專用的單獨著色程序,效率提高許多倍;增加循環(huán)操作指令,減少工作時間,提高處理效率;擴展著色指令個數(shù),從128個提升到256個。
增加對浮點數(shù)據(jù)的處理功能,以前只能對整數(shù)進行處理,這樣提高渲染精度,使最終處理的色彩格式達到電影級別。突破了以前限制PC圖形圖象質(zhì)量在數(shù)學(xué)上的精度障礙,它的每條渲染流水線都升級為128位浮點顏色,讓游戲程序設(shè)計師們更容易更輕松的創(chuàng)造出更漂亮的效果,讓程序員編程更容易。
DirectX 9.0c
與過去的DirectX 9.0b和Shader Model 2.0相比較,DirectX 9.0c最大的改進,便是引入了對Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0兩個著色語言規(guī)范)的全面支持。舉例來說,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令數(shù)僅為256個,Pixel Shader最大指令數(shù)更是只有96個。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令數(shù)都大幅上升至65535個,全新的動態(tài)程序流控制、 位移貼圖、多渲染目標(biāo)(MRT)、次表面散射 Subsurface scattering、柔和陰影 Soft shadows、環(huán)境和地面陰影 Environmental and ground shadows、全局照明 (Global illumination)等新技術(shù)特性,使得GeForce 6、GeForce7系列以及Radeon X1000系列立刻為新一代游戲以及具備無比真實感、幻想般的復(fù)雜的數(shù)字世界和逼真的角色在影視品質(zhì)的環(huán)境中活動提供強大動力。
因此DirectX 9.0c和Shader Model 3.0標(biāo)準的推出,可以說是DirectX發(fā)展歷程中的重要轉(zhuǎn)折點。在DirectX 9.0c中,Shader Model 3.0除了取消指令數(shù)限制和加入位移貼圖等新特性之外,更多的特性都是在解決游戲的執(zhí)行效率和品質(zhì)上下功夫,Shader Model 3.0誕生之后,人們對待游戲的態(tài)度也開始從過去單純地追求速度,轉(zhuǎn)變到游戲畫質(zhì)和運行速度兩者兼顧。因此Shader Model 3.0對游戲產(chǎn)業(yè)的影響可謂深遠。