几天以来,我正在研究一种工具,我需要使用 DirectX 11 在几种文件格式上绘制纹理。在谷歌上搜索了很多之后,我没有找到该怎么做。
我正在使用 D3DX11CreateShaderResourceViewFromFile 加载 .dds 和 .png 文件,但我在其他地方读到 .tga 不再受支持。我也读了一些关于 D3DLOCKED_RECT 来设置纹理的每个像素,并阅读 .tga 文件来了解这些像素,但那是针对 DirectX 9 的。
有什么帮助或提示吗?提前致谢。
//注意:我不使用 D3D11
D3DX11CreateShaderResourceViewFromFile 的 MSDN 页面说有DirectXTex库,它应该能够使用LoadFromTGAFile例程加载 *.tga 文件。你应该试一试。如果它不适合您,您将不得不编写自己的纹理加载器。(因为可以在 D3D9 中为纹理制作加载器,所以在 D3D11 中应该可以做同样的事情)。*.tga 格式记录在某处,许多初学者教程专门处理在没有 3rd 方库的情况下加载这种特定格式。
两个建议: