OpenGL图像加载/存储是否需要手动sRGB进行线性转换?

时间:2016-07-18 11:38:25

标签: image opengl textures srgb

如果使用SRGB纹理格式,假设您只能通过采样器在纹理读取中获得免费的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;
}

1 个答案:

答案 0 :(得分:0)

完全。
只要您不使用sRGB纹理,OpenGL就会假设所有纹理数据都在线性空间中。