[Bf-blender-cvs] [5e1702e7a59] master: Fix T87844: Cycles losing 1 bit of precision when loading packed byte images
Brecht Van Lommel
noreply at git.blender.org
Mon Jul 12 19:31:39 CEST 2021
Commit: 5e1702e7a593851b2354bca5db3044e7aa639312
Author: Brecht Van Lommel
Date: Mon Jul 12 19:07:10 2021 +0200
Branches: master
https://developer.blender.org/rB5e1702e7a593851b2354bca5db3044e7aa639312
Fix T87844: Cycles losing 1 bit of precision when loading packed byte images
This could lead to colors that are supposed to be exactly white to be slightly
darker.
===================================================================
M intern/cycles/blender/blender_image.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_image.cpp b/intern/cycles/blender/blender_image.cpp
index 3a9d159e461..f27275bd457 100644
--- a/intern/cycles/blender/blender_image.cpp
+++ b/intern/cycles/blender/blender_image.cpp
@@ -137,9 +137,9 @@ bool BlenderImageLoader::load_pixels(const ImageMetaData &metadata,
/* Premultiply, byte images are always straight for Blender. */
unsigned char *cp = (unsigned char *)pixels;
for (size_t i = 0; i < num_pixels; i++, cp += channels) {
- cp[0] = (cp[0] * cp[3]) >> 8;
- cp[1] = (cp[1] * cp[3]) >> 8;
- cp[2] = (cp[2] * cp[3]) >> 8;
+ cp[0] = (cp[0] * cp[3]) / 255;
+ cp[1] = (cp[1] * cp[3]) / 255;
+ cp[2] = (cp[2] * cp[3]) / 255;
}
}
}
More information about the Bf-blender-cvs
mailing list