使用DirectX 11阅读.tga
Read .tga with DirectX 11
几天以来,我一直在开发一个工具,需要用directX 11在几种文件格式上绘制纹理。在谷歌上搜索了很多之后,我没有找到该怎么做。
我使用D3DX11CreateShaderResourceViewFromFile加载.dds和.png文件,但我在其他地方看到.tga不再受支持。我也读了一些关于D3DLOCKED_RECT的内容来设置纹理的每个像素,并读了.tga文件来了解这些像素,但那是针对directX 9的。
有什么帮助或建议吗?提前谢谢。
//注意:我不使用D3D11
D3DX11CreateShaderResourceViewFromFile的MSDN页面上说有DirectXTex库,应该能够使用LoadFromTGAFile例程加载*.tga文件。你应该试一试。如果它不适合你,你将不得不编写自己的纹理加载程序。(因为可以在D3D9中为纹理制作加载程序,所以应该可以在D3D11中做同样的事情)。*。tga格式有文档记录,许多初学者教程专门处理在没有第三方库的情况下加载这种特定格式的问题。
两个建议:
- 下次,如果有疑问,请阅读文档
- 不要看*.png格式。这种格式加载非常慢(jpeg更快,未压缩的bmp更快,dds更快),很可能不适合经常需要加载许多图像的游戏(可以将其用于开始菜单、结束屏幕等)。请使用未压缩的格式(如*.tga)或(因为您使用的是directx)使用*.ds格式。您的图像很可能会占用额外的磁盘空间,但加载速度会更快
相关文章:
- 循环后如何继续阅读
- 用c++阅读音频
- 如何从QFile阅读?它显示该文件不可访问
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 有没有办法使用 c++ 实时阅读文本?
- 阅读 QML 中结构C++ QVector 的 QVector
- 当QProcess需要用户使用Qt输入时,如何阅读
- 在 c++ 中逐行阅读字符串,不要以空格停止
- C++ 如何暂停控制台输出,以便用户可以在继续之前阅读信息
- 如何阅读两个单词,然后阅读C++中的一行?
- 是否可以使用 Python csv 阅读器读取使用 C++ std::setw 生成的文件?
- 我如何阅读简单的控制台输出
- 非常快速地阅读 CSV 文件
- 阅读从 istream 到矢量的不同类型列表
- CImg阅读图像
- 如何只阅读最后一行的开头?
- 我们如何跳过帧,计算帧数并使用视频阅读器获取当前帧
- C++将特定的数据模式从RFID阅读器写入文本文件
- 为什么当我从 cin 阅读时转义字符不起作用?
- 使用DirectX 11阅读.tga