“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。