ucupumar / ucupaint

Ucupaint is Blender addon to manage texture layers for Eevee and Cycles renderer.
GNU General Public License v3.0
1.24k stars 37 forks source link

Baked normal maps not exporting to 16bit TIFF #165

Closed trashmaster9000 closed 2 weeks ago

trashmaster9000 commented 2 weeks ago

hi! i discovered that normal maps are not exported as 16bit tiff when i save them externally after baking. if i export the image as 16bit png first and then export it as 16bit tiff its exporting correctly

would be nice if you could have a look at it!

ucupumar commented 2 weeks ago

Thanks for the report! I already tested this and I think this problem is caused by Blender not being able to save 16-bit TIFF when the image uses 8-bit color. Maybe there should be a way to bake normal to float image to fix this issue.

trashmaster9000 commented 2 weeks ago

ok, so i tried something:

if i do "Bake all", go to the image editor, discard the baked image which lets me manually enable "Float buffer", bake again and save it as 16bit tiff its working as it should be.

maybe you could just add a "Float buffer" checkbox to the "new bake target" dialogue or simply mark normals as float buffer by default?

ucupumar commented 2 weeks ago

I just added the option to bake normal to float image but it's disabled by default, I already tested it with a TIFF image and it worked fine. Thanks for the report! 👍 image

trashmaster9000 commented 2 weeks ago

hmmm, i cant seem to get it working, i checked the box but blender still exports tiffs as 8bit the created image also doesn't have the float checkbox checked in the image editor if that makes a difference

created a new project, added a plane, added ucupaint nodes, added brick texture to normal channel, created DirectX normal bake target, did bake all with normal box checked, clicked gear icon -> save as image, choose TIFF RGB 16bit Deflate Image is still 8bit

is there something i'm missing?

ucupumar commented 2 weeks ago

Oh, I forgot about custom bake target, I just added an option to use float with custom bake target