Advanced Lighting · Gamma Correction
Texture InputsRGB decode
→
Vertex InputGeometry
→
Vertex ShaderTransform
→
RasterizationFragments
→
Fragment ShaderLinear lighting
→
Blending / FBOkeep linear
→
Final OutputLinear → sRGB

Linear working space

颜色纹理在输入时解码,光照与混合保持在线性空间,最终显示前再编码。Gamma Correction 不是一个新的 Shader Stage,而是一组颜色空间边界。

sRGB texturestored ≈ linear^(1/2.2)
→
Linear processinglighting · attenuation · blending
→
sRGB outputencoded ≈ linear^(1/2.2)