directX 简介
DirectX
DirectX(Direct eXtension,簡稱DX)是由微軟公司創建的多媒體編程接口,是一種應用程序接口(API)。DirectX可以讓以windows為平臺的游戲或多媒體程序獲得更高的執行效率,加強3D圖形和聲音效果,并提供設計人員一個共同的硬件驅動標準,讓游戲開發者不必為每一品牌的硬件來寫不同的驅動程序,也降低用戶安裝及設置硬件的復雜度。Microsoft DirectX 是這樣一組技術:它們旨在使基于Windows 的計算機成為運行和顯示具有豐富多媒體元素(例如全色圖形、視頻、3D 動畫和豐富音頻)的應用程序的理想平臺。DirectX 包括安全和性能更新程序,以及許多涵蓋所有技術的新功能。應用程序可以通過使用DirectX API 來訪問這些新功能。 它比Windows GDI要快好幾倍,可用于不同的語言和多種平臺,支持從繪制象素到高級3D圖象,從播放簡單聲音到數字音樂,從鍵盤控制到反震手柄……它給你游戲編程所需的一切(有點夸張) DirectX 顯示部分(也是最重要的部分),分為DrictDraw(DDraw)和Dricet3D(D3D),其中DrictDraw主要是負責2D圖像加速,包括播放mpg、DVD看圖片、2D小游戲等等( 把它理解成所有劃線的部分都是用的DDraw );Dricet3D主要負責3D的效果,包括點線面體渲染等等;
DricetX 包含的:
* DirectSound:提供硬件和軟件的聲音混合與回放。
* DirectMusic:處理基于消息的音樂數據。它支持樂器數字接口(MIDI)并為創建交互式音樂提供創作工具。
* DirectPlay:使得通過調制解調器鏈接或通過網絡來與應用程序相連成為可能。
* Direct3D:是一個三維圖形包,它提供一個高級的保留模式(Retained Mode)接口,這使得你能夠實現一個完整的三維圖形系統。它還包含一個低級的即時模式(Immediate Mode)接口,使得應用程序獲得對渲染管線的完全控制。
* DrictDraw:負責圖像顯示中的2D加速,常常在播放,圖片界面等等;
* DirectInput:為包括游戲桿、鼠標、鍵盤和游戲控制器在內的輸入設備提供支持。它還為反饋游戲設備提供支持。
* DirectSetup:為DirectX提供了一個簡單的安裝過程。它簡化了更新顯示和音頻驅動程序的過程,并且確保沒有硬件或軟件沖突的存在。
* AutoPlay:讓你能夠制作一張一旦插入驅動器就能自動安裝的光盤。AutoPlay并非DirectX所獨有,因為它是Microsoft Win32 API的一部分。
現代的DirectX主要是在2D 3D應用是最多做重要:
**
Direct9:
現今主要是在DirectX9,是與之前跨時代并且影響到現在的版本之后 ,DirectX9顯著的提高了老本(DirectX8)的VS性能,新的控制指令,可以用通用的程序權代替以前專用的單獨著色程序,效率提高許多倍;增加循環操作指令,減少工作時間,提高處理效率;擴展著色指令個數,從128個提升到256個。 增加對浮點數據的處理功能,以前只能對整數進行處理,這樣提高渲染精度,使最終處理的色彩格式達到電影級別。突破了以前限制PC圖形圖象質量在數學上的精度障礙,它的每條渲染流水線都升級為128位浮點顏色,讓游戲程序設計師們更容易更輕松的創造出更漂亮的效果,讓程序員編程更容易。
Direct10:
DX10又是一次大革命,除了將ShaderModel從3.0升級至4.0版本外,還有兩項非常重要技術:
第一:引入統一渲染架構,從此不再區分像素與頂點著色單元,而是由流處理器單元按照負載動態的執行包括像素和頂點在內的各種著色指令:
第二,引入全新的幾何著色單元,它第一次允許由GPU來動態的生成和銷毀幾何圖元數據,使GPU可以在不用CPU干涉的條件下進行反復運算,許多以前無法實時使用的算法現在都可以在GPU中使用了。
第三,最大的結構性變化就是在幾何處理階段增加了幾何渲染單元(Geometry
Shader)。幾何渲染單元被附加在頂點渲染單元之后,但它并不像頂點渲染單元那樣輸出一個個頂點,而是以圖元作為處理對象。
Direct11:
DX9C和DX10聽起來非常完美,但也有明顯的缺點,就是系統資源開銷很大,運算效率比較低,所以DX11的重點就落在了改進渲染效能方面。
多線程 多線程 資源/著色器/對象創建 多線程顯示隊列創建
著色器特性 可尋址資源——紋理、常量緩沖區和采樣器 其他資源類型,如讀/寫緩沖區和紋理
子程序
計算著色器-----一種著色器,設計用于加速計算,通過在幾個軟件線程或線程組之間劃分問題空間,并在著色器寄存器之間共享數據,以顯著減少輸入著色器所需的數據量,可以顯著加快計算速度。計算著色器可以顯著改進的算法包括后處理、動畫、物理和人工智能
幾何著色器 實例化----允許幾何體著色器輸出最多1024個頂點,或者實例和最多1024個頂點的任意組合(每個頂點最多32個實例)。
像素著色器 覆蓋范圍作為PS輸入 可編程插值輸入-能夠評估像素內的屬性,在任何地方的多采樣網格
DirectX 12:
微軟在 GDC DirectX 的直播活動中公開了 DirectX 12 Ultimate(DX12U)標準,統一了AMD 和 NVIDIA 兩大顯卡巨頭的圖形 API 標準, RTX 系列和 RDNA2 系列顯卡均支持 DX12U。
DX12U 帶來了以下新特性:
- DirectX Raytracing 光線追蹤
- Variable Rate Shading 可變頻率著色
- Mesh Shaders 網格著色
- Sampler Feedback 采樣器反饋
一次開發,全面優化,A 卡、N 卡、Xbox Series X 通吃,.對開發者來說這當然是巨大的利好消息。
總結
以上是生活随笔為你收集整理的directX 简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 型材行业ERP-MES应用点滴
- 下一篇: 大学计算机相关的证书有哪些,大学最有含金