如果使用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;
}
最佳答案
究竟。
只要您不使用sRGB纹理,OpenGL就会假定所有纹理数据都位于线性空间中。