RGBM颜色空间
https://zhuanlan.zhihu.com/p/411778623
// RGBM encode/decode static const float kRGBMRange = 8.0; half4 EncodeRGBM(half3 color) { color *= 1.0 / kRGBMRange; half m = max(max(color.x, color.y), max(color.z, 1e-5)); m = ceil(m * 255) / 255; return half4(color / m, m); } half3 DecodeRGBM(half4 rgbm) { return rgbm.xyz * rgbm.w * kRGBMRange; }
RGBM编码的核心思想就是进行归一化,把>1.0的数值转化到[0,1]区间内。