我如何查看R32G32B32纹理?

我有一个纹理R32G32B32浮游物。 我使用DXGI_FORMAT_R32G32B32_FLOAT在D3D11中在程序中创建了这个纹理。 现在我需要查看纹理数据以进行debugging,但不会保存到除dds以外的任何内容 ,在debugging输出中显示错误:“找不到匹配的WIC格式,请将此文件保存到DDS”。

所以,我把它写到DDS,但我现在不能打开它! DirectX纹理工具显示“尝试打开该文件时发生错误”。

我知道纹理正在工作,因为我可以在GPU中读取它,并且颜色看起来正确。

如何在图像查看器中查看R32G32B32纹理?

如何使用PIX的Windows ? 这可能是查看纹理的最简单方法。

作为奖励,你可以右键点击你的纹理和“图片另存为…”搁置以后,如果这是你需要的(虽然我不确定这将处理R32G32B32格式)。

DDS文件格式在dx9和dx10之间更改。 dx9已经通过kludges支持很多新function,这些新function最终被添加为完整的types,切换到DXGI。 这意味着大多数现有的DDS查看器不支持任何新的纹理格式,甚至不支持从directXtex保存的文件。 (用于处理DDS文件的新的半开放源代码微软库。)

DirectXTex有一个名为DDsView.exe的命令行工具,可以查看所有文件格式。

我可以发现查看96 bpp纹理的唯一方法是使用NVIDIA的DDS插件 直接下载64位 , 32位 。

使用正确的插入位是很重要的,否则它将不起作用(这是我之前发现的)

从我可以告诉旧的DX纹理工具不支持这种格式 – 它肯定是不可用的格式列表中转换。 可用的是R32G32B32A32浮点数,我testing了一下,确定它可以转换为,保存为,然后重新打开,所以你可以在保存之前转换成这种格式。