gpt4 book ai didi

windows - d3dx 库如何将纹理保存到文件中?

转载 作者:可可西里 更新时间:2023-11-01 10:02:01 32 4
gpt4 key购买 nike

当使用函数:D3DXSaveTextureToFile 并传入 D3DXIFF_BMP 来创建 bmp 时,我注意到这些值似乎是估计值而不是具体给出。

如果我错了请纠正我,但是浮点纹理可以在任何给定的纹素中存储任何 float ,这会使它超出卡在 rgb(255,255,255,255) 之间的 BMP 的范围,所以看起来函数是什么所做的只是获取纹理的最高值和最低值,并在该范围内对其进行归一化。

所以我的问题是:是否可以完全按照内存中的值获取值?包括当颜色超出计算机显示器的光谱范围时?

最佳答案

不要使用 BMP。使用支持所需数据类型的格式。对于 DX 纹理,似乎是 <a href="http://msdn.microsoft.com/en-us/library/ee417219%28VS.85%29.aspx" rel="noreferrer noopener nofollow">D3DXIFF_PFM</a>格式是你需要的。是这样描述的:

Portable float map format. A raw floating point image format, without any compression. The file header specifies image width, height, monochrome or color, and machine word order. Pixel data is stored as 32-bit floating point values, with 3 values per pixel for color, and one value per pixel for monochrome.

请注意,图片会很大。这种格式的 256x256 纹理应该重约 768 KB。

更新:您应该能够使用 Image Magick的显示命令以这种格式查看图像。还有 HDRView支持PFM格式。第三个选择可能是 fv .

关于windows - d3dx 库如何将纹理保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1565725/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com