1. 程式人生 > >DX11 Without DirectX SDK--04 使用DirectX Tool Kit幫助開發

DX11 Without DirectX SDK--04 使用DirectX Tool Kit幫助開發

一個 結構 基於 sdk 可用 text rim 鼠標 del

回到 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幫助開發