d3d11.lib
is the Direct3D 11 API which is included as part of your Windows operating system. The latest version of the d3d11*.h
headers and d3d11.lib
libraries can be found in the Windows SDK.
The d3dx11.lib
is a "helper" library for Direct3D 11 that includes things like D3DX11CreateTextureFromFile
and D3DX11SaveTextureToFile
. It's optional and the Runtime DLL is not part of the Windows operating system--it has to be deployed for your application to run.
D3DX for Direct3D 9 (a.k.a. D3DX9) had functionality for sprites, pattern lines, meshes, fonts, texture loading/saving, BC (DXT1-5) compression, adjacency computation, D3DXmath, and the Effects (FX) library. It included the HLSL compiler. It also had other things from MSR like progressive mesh, vertex-cache optimization, uvatlas isochart, and precomputed radiance transfer (PRT).
D3DX for Direct3D 10 (a.k.a. D3DX10) was a little more trimmed down than D3DX9 and makes use of the Windows Imaging Component (WIC) for image I/O. It supported BC1-5 compression. The .x
file format was deprecated, so while D3DX10 had a mesh object, it didn't have a way to create or save one from disk. D3DXMath was included, and was identical to the D3DX9 version. The Effects system for Direct3D 10 (FX10) was put into the OS. The HLSL compiler was split off into the D3DCompile API.
D3DX for Direct3D 11 (a.k.a D3DX11) is a much smaller library than previous versions. It's primarily just the texture loading/saving via WIC and BC1-7 compression. D3DXMath was replaced with DirectXMath. Effects for Direct3D 11 (FX11) was deprecated, with the runtime made into an open source project. Direct2D supported 'pattern lines' and presentation graphics features, and DirectWrite was supposed to replace the font functionality.
D3DX9, D3DX10, and D3DX11 were all deprecated along with the legacy DirectX SDK per Microsoft Docs.
There are a lot of replacements for D3DX11, most of which are open source. See Living Without D3DX for a complete list.
For older codebases that need D3DX9/D3DX10/D3DX11, rather than using the legacy DirectX SDK, you can make use of the Microsoft.DXSDK.D3DX NuGet package.