D3DFMT_A32R32G32B32F是线性还是sRGB?

问题描述 投票:0回答:1

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

这是正确的吗? D3DFMT_A32R32G32B32F是sRGB格式吗?或者,这是Photoshop插件中的错误吗?还是格式与色彩空间无关?

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

graphics textures nvidia direct3d dds-format
1个回答
0
投票

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

传统DDSURFACEDESC2 DDS文件未明确编码颜色空间。 NVIDIA的一些黑客试图将sRGB与Linear相加,但从未被广泛采用。通过使用DX10DXGI_FORMAT扩展头,只有少数几种格式显式指示sRGB,因此即使在那儿,您也可以从技术上获得各种颜色空间的数据。

请参见this blog post

© www.soinside.com 2019 - 2024. All rights reserved.