spherical harmonics lighting that is used for precomputed global illumination and soft ambient lighting. ID3DXSprite The ID3DXSprite interface is a C++ class used for drawing a 2D image to the screen known as a sprite in computer graphics. In DirectX 7 this was typically done using the DirectDraw API, which is deprecated. The programmer typically needs only to call the ID3DXSprite object's Begin() method to set up the render state and world transform for 2D drawing, call the Draw() method to add textures to the list to be drawn and finally call the End() method to draw the images to the screen and restore the original graphics state. A common criticism of the D3DXSprite was that it was slow but this issue has been addressed as of Direct3D 9. Functions D3DXComputeTangentFrame It computes the tangent-space frame of a mesh that is used for effects like normal/bump mapping, parallax mapping and anisotropic lighting models. It handles vertices at tangent-space discontinuities by making duplicates, thus solving the hairy ball problem. It doesn't handle reversed UV winding of faces so models with mirrored texture mapping may run into lighting troubles because of this. Direct3D10 The D3DX10 utility library for Direct3D 10 was similar to the D3DX for Direct3D 9 in functionality, and included the same D3DXMath library and Block Compression (BC1-BC5) software codecs. The key differences were that Effects for Direct3D 10 was made an OS component, the HLSL compiler was moved to a distinct D3DCompile DLL, and the texture image load & save code utilized the Windows Imaging Component. As a consequence of the shift to using WIC, D3DX10 did not support Truevision TGA, RGBE image format, or Portable PixMap file formats which were supported by D3DX. D3DX10 also did not include the UVAtlas isochart texture atlasing or Precomputed Radiance Transfer APIs. All versions of D3DX10 are deprecated per Microsoft Docs. Direct3D11 The D3DX11 utility library for Direct3D 11 was a trimmed down version of D3DX10. It included texture image load & save code using WIC, and the Block Compression (BC1-BC7) software codecs, but little else. All versions of D3DX11 are deprecated per Microsoft Docs. Most functionality from D3DX9, D3DX10, and D3DX11 has been moved to open source projects for Direct3D 11 or later: DirectXMath, DirectX Tool Kit, DirectXTex, DirectXMesh, and UVAtlas. There are also open source versions of DXUT and the Effects (FX11) runtime available. Direct3D12 There is no DLL-based D3DX12