Advanced Lighting · Gamma Correction
Texture Input
sRGB decode
→
Vertex Input
Geometry
→
Vertex Shader
Transform
→
Rasterization
Fragments
→
Fragment Shader
Linear lighting
→
Blending / FBO
keep linear
→
Final Output
Linear → sRGB
Linear working space
颜色纹理在输入时解码,光照与混合保持在线性空间,最终显示前再编码。Gamma Correction 不是一个新的 Shader Stage,而是一组颜色空间边界。
sRGB texture
stored ≈ linear^(1/2.2)
→
Linear processing
lighting · attenuation · blending
→
sRGB output
encoded ≈ linear^(1/2.2)