3

如果使用 SRGB 纹理格式,我是否正确假设您只能在现代 GPU 中通过采样器读取纹理时免费获得 SRGB 转换?

因此,如果我想通过带有图像加载/存储的图像访问相同的 SRGB 纹理,我将不得不手动进行任何 SRGB/线性转换?

IE 执行以下操作:

float LinearToSRGB(float value)
{ 
    if( value< 0.0031308 )
        value*= 12.92;
    else
        val = 1.055 * pow(value, 1.0/2.4) - 0.055;

    return value;
}
4

1 回答 1

0

确切地。
只要您不使用 sRGB 纹理,OpenGL 就假定所有纹理数据都在线性空间中。

于 2016-07-21T15:44:19.497 回答