DirectX
DirectX
DirectX并不是一個單純的圖形API,它是由微軟公司開發的用途廣泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多個組件,它提供了一整套的多媒體接口方案。只是其在3D圖形方面的優秀表現,讓它的其它方面顯得暗淡無光。DirectX開發之初是為了彌補Windows 3.1系統對圖形、聲音處理能力的不足,而今已發展成為對整個多媒體系統的各個方面都有決定性影響的接口。
DirectX 5.0
??? 微軟公司并沒有推出DirectX 4.0,而是直接推出了DirectX 5.0。此版本對Direct3D做出了很大的改動,加入了霧化效果、Alpha混合等3D特效,使3D游戲中的空間感和真實感得以增強,還加入了S3的紋理壓縮技術。同時,DirectX 5.0在其它各組件方面也有加強,在聲卡、游戲控制器方面均做了改進,支持了更多的設備。因此,DirectX發展到DirectX 5.0才真正走向了成熟。此時的DirectX性能完全不遜色于其它3D API,而且大有后來居上之勢。
DirectX 6.0
??? DirectX 6.0推出時,其最大的競爭對手之一Glide,已逐步走向了沒落,而DirectX則得到了大多數廠商的認可。DirectX 6.0中加入了雙線性過濾、三線性過濾等優化3D圖像質量的技術,游戲中的3D技術逐漸走入成熟階段。
DirectX 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游戲。
DirectX 8.0
??? DirectX 8.0的推出引發了一場顯卡革命,它首次引入了“像素渲染”概念,同時具備像素渲染引擎(Pixel Shader)與頂點渲染引擎(Vertex Shader),反映在特效上就是動態光影效果。同硬件T&L僅僅實現的固定光影轉換相比,VS和PS單元的靈活性更大,它使GPU真正成為了可編程的處理器。這意味著程序員可通過它們實現3D場景構建的難度大大降低。通過VS和PS的渲染,可以很容易的寧造出真實的水面動態波紋光影效果。此時DirectX的權威地位終于建成。
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 9.0c
??? 與過去的DirectX 9.0b和Shader Model 2.0相比較,DirectX 9.0c最大的改進,便是引入了對Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0兩個著色語言規范)的全面支持。舉例來說,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令數僅為256個,Pixel Shader最大指令數更是只有96個。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令數都大幅上升至65535個,全新的動態程序流控制、 位移貼圖、多渲染目標(MRT)、次表面散射 Subsurface scattering、柔和陰影 Soft shadows、環境和地面陰影 Environmental and ground shadows、全局照明 (Global illumination)等新技術特性,使得GeForce 6、GeForce7系列以及Radeon X1000系列立刻為新一代游戲以及具備無比真實感、幻想般的復雜的數字世界和逼真的角色在影視品質的環境中活動提供強大動力。
??? 因此DirectX 9.0c和Shader Model 3.0標準的推出,可以說是DirectX發展歷程中的重要轉折點。在DirectX 9.0c中,Shader Model 3.0除了取消指令數限制和加入位移貼圖等新特性之外,更多的特性都是在解決游戲的執行效率和品質上下功夫,Shader Model 3.0誕生之后,人們對待游戲的態度也開始從過去單純地追求速度,轉變到游戲畫質和運行速度兩者兼顧。因此Shader Model 3.0對游戲產業的影響可謂深遠。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 摩爾線程發布Windows驅動程序v230.40 正式支持DirectX 11 2023-08-23
- [電子說] 使用DirectX 12在分布式系統上的應用程序之間同步當前調用 2022-10-10
- [電子說] 使用NVIDIA SDK 11.1對DirectX 12進行編碼 2022-04-20
- [電子說] 微軟DirectX圖形API開發者去世,其開發的APL推動游戲從DOS轉向Windows 2020-12-24
- [電子說] Windows和DirectX 12設備都將會支持OpenCL和OpenGL 2020-03-25
- [電子說] 顯卡的DirectX 12 Ultimate標志支持硬件光線追蹤才有 2020-03-22
- [電子說] 微軟DirectX 12 Ultimate解讀 到底有哪些變化 2020-03-21
- [電子說] 微軟DirectX 12 Ultimate發布,在PC和Xbox Series X上統一圖形平臺 2020-03-20
( 發表人:admin )