1. 程式人生 > >DirectX和D3DX的區別

DirectX和D3DX的區別

“Direct3D”和“D3DX”之間的區別一直有,但它一直比較模糊。 D3DX從Windows8 SDK開始就已經被棄用,可以視為DirectX 的一個擴充套件包。

D3DX的主要替代庫DirectXTK,DirectXTex,DirectXMesh。 這些都支援Direct3D 11.x.平臺包括Windows 8.0,Windows 8.1,Windows phone 8.x,Xbox,Win32桌面程式的Windows Vista,Windows 7,Windows 8. x。

像很多D3DX函式,D3DX11CreateShaderResourceViewFromFile是一個一勞永逸的工具.但是快慢並不明確

有兩種不同的選項替換這個函式:DDSTextureLoader和 WICTextureLoader。 這些屬於DirectXTK DirectXTex包中有“獨立的”版本。

DDSTextureLoader是一個非常輕量級的DDS檔案載入程式。 很有效,但不執行執行時轉換或調整——這意味著如果真是老Direct3D 9 DDS與24-bpp格式資料檔案例如,它不能被載入,必須轉換為現代格式。
WICTextureLoader是一個“重量級”標準影象檔案載入器使用嗎每各月內建支援BMP,JPG,PNG,TIF,和GIF。 它只能載入2 d紋理,可以嘗試使用GPU的自動生成產生如果支援給定的格式。 它可以在執行時影象縮放功能水平的侷限性。 理想情況下你會使用DDS建立的檔案在構建時,但WICTextureLoader是有用的在這種情況下,你不能pre-convert DDS的一個影象檔案。
注意使用Direct3D 10 D3DX10,建議去學習Direct3D 11.x。