D3DFMT_A32R32G32B32F是线性的还是sRGB?



我使用 Photoshop 的 NVIDIA 纹理工具插件保存了一张 *.dds 图像,并选择了D3DFMT_A32R32G32B32F格式。因为它是浮点格式,所以我认为数据保存在线性颜色空间中。但是,当我在代码中加载文件时,我发现我需要执行从 sRGB 到线性的转换,以获得我预期的结果。

这是对的吗?D3DFMT_A32R32G32B32F是 sRGB 格式吗?或者,它是Photoshop插件中的错误吗?或者,格式在色彩空间方面是否不可知?

在相关的说明中,我选择了旧的D3DFMT_A32R32G32B32F格式,因为该插件似乎不支持较新的 DXGI 格式。

从技术上讲,浮点数据可以在任何颜色空间中。在 DirectXTex 中,我通常认为浮点格式是线性空间,但旧插件肯定可以将所有内容视为 sRGB。

传统的DDSURFACEDESC2DDS 文件不显式编码颜色空间。NVIDIA的一些黑客试图添加sRGB与线性,但它从未被广泛采用。使用DXGI_FORMATDX10扩展标头,只有少数格式明确指示sRGB,因此即使在那里,您也可以在技术上拥有各种颜色空间中的数据。

请参阅此博客文章

相关内容

  • 没有找到相关文章

最新更新