Error reported by Daniel Salazar, Compositor color is wrong since my fix.
this is because of fairly confusing logic, when an SRGB image has a float buffer added its always LINEAR, so we have to account for this elsewhere. So the conversion from byte to float works like this: * NONE -> NON-LINEAR * SRGB/LINEAR -> LINEAR ...but none change the profile variable.
This commit is contained in:
@@ -78,7 +78,7 @@ static CompBuf *node_composit_get_image(RenderData *rd, Image *ima, ImageUser *i
|
||||
/* now we need a float buffer from the image
|
||||
* with matching color management */
|
||||
if(rd->color_mgt_flag & R_COLOR_MANAGEMENT) {
|
||||
if(ibuf->profile == IB_PROFILE_LINEAR_RGB) {
|
||||
if(ibuf->profile != IB_PROFILE_NONE) {
|
||||
rect= ibuf->rect_float;
|
||||
}
|
||||
else {
|
||||
@@ -88,7 +88,7 @@ static CompBuf *node_composit_get_image(RenderData *rd, Image *ima, ImageUser *i
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(ibuf->profile != IB_PROFILE_LINEAR_RGB) {
|
||||
if(ibuf->profile == IB_PROFILE_NONE) {
|
||||
rect= ibuf->rect_float;
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user