DX11 Without DirectX SDK--04 使用DirectX Tool Kit幫助開發
回到 DirectX11--使用Windows SDK來進行開發
DirectX Tool Kit下載
DirectX Tool Kit是一個包含許多類的集合,用於為公共Windows平臺編寫Direct3D 11 C++代碼。裏面包含如下可用的頭文件(基本上都在名稱空間DirectX中):
頭文件 | 描述 |
---|---|
Audio.h | 使用了XAudio2的底層音頻API |
CommonStates.h | 一個工廠類,提供了常用的D3D狀態對象 |
DDSTextureLoader.h | 用於讀取DDS文件 |
DirectXHelpers.h | 各種各樣的助手類,用於幫助D3D程序開發 |
Effects.h | 一系列內建著色器的集合,用於日常渲染任務 |
GamePad.h | 用於控制手柄 |
GeometricPrimitive.h | 用於創建、繪制一些常見的圖元如球體、立方體 |
GraphicsMemory.h | 用於管理動態圖形內存分配 |
Keyboard.h | 鍵盤事件追蹤 |
Model.h | 通過讀取 .COM, .SDKMESH 或者 .VBO 文件來繪制模型 |
Mouse.h | 鼠標時間追蹤 |
PostProcess.h | 一系列內建著色器用於常見的後期處理操作 |
PrimitiveBatch.h | 提供簡單高效的,繪制用戶圖元的方式 |
ScreenGrab.h | 輕量級截屏工具 |
SimpleMath.h | 簡單包裝了C++的DirectXMath |
SpriteBatch.h | 提供簡單高效的,用於2D精靈渲染的方式 |
SpriteFont.h | 基於位圖的文字渲染 |
VertexTypes.h | 一系列常用於頂點數據的結構體格式 |
WICTextureLoader.h | 讀取WIC位圖的文件 |
XboxDDSTextureLoader.h | 用於為XBox讀取DDS文件 |
獲取了最新版的DirectX Tool Kit後,裏面是一個項目,我們可以根據自己的VS版本打開。這裏我選擇的是DirectXTK_Desktop_2017_Win10.sln
打開項目後,裏面會有三個項目,而我們的關註點僅在第一個項目:
該項目右鍵--屬性--常規--Windows SDK版本檢查是不是最新的,否則要變更為當前你的Windows SDK版本。
我們需要修改Debug Win32, Debug x64, Release Win32和Release x64所有4個模式,然後對這4個模式分別生成一次,我們所需要的最終產物為4個模式下的靜態庫。
生成成功後,在Bin\Desktop_2017_Win10\Win32的Debug和Release文件夾裏面都有生成的DirectXTK.lib,其中對Debug版本改為DirectXTKd.lib進行區分。然後在Bin\Desktop_2017_Win10\x64的Debug和Release文件夾裏面生成的靜態庫也做一樣的操作
將Inc文件夾和上面的四個靜態庫文件提取出來,自行整理成一個第三方庫的文件夾,如:
DXTKDXTK\IncDXTK\Inc\...
DXTK\LibDXTK\Lib\Win32DXTK\Lib\Win32\DirectXTK.lib
DXTK\Lib\Win32\DirectXTKd.lib
DXTK\Lib\x64DXTK\Lib\x64\DirectXTK.lib
DXTK\Lib\x64\DirectXTKd.lib
那麽後續的項目如果要用到DXTK,就需要包含文件夾 DXTK\Inc,並根據x86/Win32還是x64選擇正確的庫路徑,然後再根據當前是Debug模式還是Release模式來選擇引進正確的庫。
我們可以新建4個項目屬性表,讓後續的項目都使用上這4個屬性表,以減少配置流程。
DX11 Without DirectX SDK--04 使用DirectX Tool Kit幫助開發