Using the 16bit option for tiff makes the saved image darker than the render result. Here is how to reproduce:
1. choose 16 bit tiff in the output panel
2. render
3. save the image
4. open it in the uv/image editor and compare it to the render result
If you open it in any other program it will alsp look darker so there is something about the saving that is off.
revision 28719
Description
Event Timeline
Probably needs to be gamma corrected, when converting back from internal linear float source, assigning to myself.
Indeed, the floating point representation of the image buffer (ibuf->rect_float) is in linear space and conversion is needed (to srgb) to derive the 16 bit tiff.
The same problem is present in Jpeg2000 export.
Seems I can't upload a patch file here, but the following should make clear what solves the issue. (Was looking at this issue before I saw it was assigned to someone;-))
+ #include "BLI_math.h"
- to16[to_i] = FTOUSHORT(fromf[from_i]);
+ to16[to_i] = FTOUSHORT(linearrgb_to_srgb(fromf[from_i]));
Forgot to mention the changes are in source/blender/imbuf/intern/tiff.c
Also I think it would be better to have a common way to convert from float to n-bit integer. Now, TIFF and JPEG2000 use their own, and different(!), mapping. There's a FTOCHAR macro in BKE_utildefines.h. Probably that would be a good place to define a common float to n-bit integer conversion?