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