最近的幾次文章的評論中不少讀者提到文章的更新速度的更新量的問題,淺墨會逐漸重視起來,盡量在保證質量的基礎上,每周都拿出夠分量的內容。本周的文章算是近幾次更新量的一個彌補,這篇文章的字數達到了近一萬字。
一、DirectX11的現有組件
DirectX的API被分為頗多組件,每一組件都展現了系統不同方面的功能。其中的每一套API都能被獨立的使用,因此我們可以按照所需有選擇地自由添加我們游戲中需要的功能。在最新版本的DirectX中,不少組件迎來了更新,如Direct3D.其他的組件保持著現有的功能,當然,也有一些被棄用的組件面臨著被移除的命運。值得一提的是,DirectX中的各個內部組件可以獨立進行新功能的升級。
下面進行分別介紹:
1.Direct2D
Direct2D用于Win32應用程序中2D圖形的繪制。Direct2D善于高性能矢量圖形的渲染。
2. DirectWrite
DirectWrite用于Direct2D應用程序中的字體和文字渲染。
3 . DXGI
DXGI(DirectX Graphics Infrastructure)即DirectX圖形基礎,用于
Direct3D交換鏈(swap chains)和枚舉設備適配器(enumeration of deviceadapters)的創建。
4 .Direct3D
Direct3D用于DirectX中所有的與3D圖形相關的操作。Direct3D可謂DirectX中的大牌級API,受到了微軟最多的關懷與多次針對性的更新,它也最多被世人所熟知。這個專欄后續內容的大部分的篇幅將集中于講解Direct3D上。
5. XAudio2
XAudio2 是一款底層的音頻處理API,以前為XDK(Xbox Development Kit)的一部分,目前,隸屬于DIRECTXSDK.XAudio2替換了DirectSound.初始版本的XAudio用于的第一代Xbox游戲機。
6. XACT3
XACT3是一款建立在XAudio2之上的更高級別的音頻處理API.XACT3允許開發者在他們的應用中使用跨平臺音頻創作工具。若開發者希望從底層控制音頻系統或者希望創建自己的類型于XACT3的更高級別的音頻系統,可以運用XAdio2來完成各項功能。tbwXACT3,我們已經在附錄B中討論過,作為“DIRECTX中的聲音”從配套網站,是一款非常容易上手的游戲音頻制作工具。
7. XInput
XInput是XDK和DirectX SDK的負責輸入功能的 API,用于處理Xbox 360控制器輸入。基本上任何可以在Xbox 360上可以使用的命令,都可以在PC上使用,而XInput就是幫助我們在這些設備上進行輸入相關操作的API.這些設備不僅包含Xbox手柄,也包含了其他很多設備。需要說明的是,XInput 替換了之前版本的DirectInput.
注:XAudio是只能用于Xbox游戲機的音效API. XAudio2,其繼任者,可用于Xbox游戲機和基于Windows的PC.
8 . XNAMath
新出現的XNA Math 不是一款API,而是是一個數學庫,進行電子游戲中常見運算的優化工作。XNA Math采用了SIMD (Single Instruction Multiple Data單指令多數據)來執行多個操作的單指令調用。XNA Math庫適用于基于Windows的PC以及Xbox 360.相關內容我們將在后續內容繼續講解。
注:XNA GameStudio為一款基于DirectX的游戲開發工具,可供我們使用C#和。NET編程語言來為Xbox360與Windows PC平臺編寫游戲。而XNA Math是一款DirectX SDK中數學庫的名字,可獨立于XNA Game Studio單獨使用。我們使用XNA Math不必下載XNA Game Studio SDK.
9 . DirectCompute
DirectCompute是一款DIRECTX 11中新加入的API,作用為支持GPU的通用多線程計算(general purpose multi threading computing)。GPU具有并行處理多任務的能力,如物理,視頻壓縮與視頻解壓,音頻處理等。并非所有的任務都適合GPU來完成,但是對于這些,由GPU來完成的可能性是巨大的(but for those that are, the possibilities are tremendous)。想了解DirectCompute的更多信息,可以查閱相關資料。
10. DirectSetup
當我們完成游戲開發的時候,我們理所當然地需要把完成品呈現給用戶。DirectSetup給我們提供了在用戶的電腦上安裝最新版本的DirectX的功能。DirectSetup也具有檢查已經安裝了的DirectX版本號的功能。
11.Windows Games Explorer
WindowsGames Explorer(游戲資源管理器)是Windows Vista與Windows 7中的新特性,可供游戲開發者在他們的操作系統上展示(測試)他們的游戲。比如游戲的顯示,標題,評級,描述,特定區域的風格框,評分內容(如M為成人,T為青少年等),游戲數據統計和通知,家長控制等。DirectX SDK中提供了大量如何使用自己的游戲的游戲資源管理器的教程,這對于發行一款游戲是非常有用的。下面的圖1是淺墨電腦上的Windows7游戲資源管理器的界面截圖