diff --git a/stb_image_write.h b/stb_image_write.h index 726e3fe..d40386f 100644 --- a/stb_image_write.h +++ b/stb_image_write.h @@ -222,9 +222,9 @@ void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) } else { float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; - rgbe[0] = (unsigned char)(linear[0] * maxcomp); - rgbe[1] = (unsigned char)(linear[1] * maxcomp); - rgbe[2] = (unsigned char)(linear[2] * maxcomp); + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); rgbe[3] = (unsigned char)(exponent + 128); } }