Page MenuHome

New 2.66a Alpha issues
Closed, ArchivedPublic

Description

--- Operating System, Graphics card ---
Windows 7 sp1 and Nvidia Quadro FX 580
Windows XP sp3 and Nvidia Geforce 9800 GT

--- Blender version with error, and version that worked ---
Blender 2.66a - broken
Blender 2.65 - worked

--- Short description of error ---
Alpha channels are now a destructive process, and do not produce proper results for straight alpha channels in formats like TGA and JPG 2k

--- Steps for others to reproduce the error (preferably based on attached .blend file) ---

In 2.66a add an alpha channel to an image with out an alpha using the set alpha node and it treats the alpha as premultiplied resulting in a halo. Rendering to TGA or Jpeg 2000 will end with a halo where there shouldn't be one.
http://imagebin.org/250010

If one uses the Alpha Convert node in 2.66a the halo can be eliminated; however, all the extra image data is lost in the process making in an equally undesirable solution.
http://imagebin.org/250011

Similarly if we take an image with an alpha and remove the alpha in 2.66a the resulting image is missing all it's extra data.
http://imagebin.org/250115

If we use the first graph in 2.65 we end up with the proper result of an image with a straight alpha and no halo.
http://imagebin.org/250009

Similarly if we take an image with an alpha and remove the alpha in 2.65 the hidden image data preserved and restored.
http://imagebin.org/250117

I have tried all combinations of the image nodes premultiplied check box, and color space Alpha M menu options to no luck. The only successful solution I've found is destructive.

Event Timeline

You are aware of the alpha changes in Blender 2.66 I guess? http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Image_Transparency

You have the image viewer to show "raw RGB colors". Make it show RGBA instead to see what alpha does.
If you want to render and display things without alpha, just set the engine to "Use sky". That makes alpha become 1, and halos shows as expected.

We cleaned up the very fuzzy alpha pipeline in Blender, now all byte buffers use straight alpha default (as expected by most other imaging apps).

Ton Roosendaal (ton) changed the task status from Unknown Status to Archived.Mar 14 2013, 1:20 PM

Ton, The RGBA view is premultiplied, if I'm understanding what you are saying. Premultiplied formats show the alpha correctly, but the issue is straight alpha and straight alpha formats.Take a look at this TGA viewed in Photoshop the premultiplied halo is there, and there is an alpha channel. Blender 2.65 does not produce this result. I read over the new transparency options and did many test in multiple formats before submitting this bug. I have rendered out roughly 30-40 different file combinations like the one below, and there is no way I have found to get blender 2.66a to output a TGA with a straight alpha, no halo and preserving the image data outside of what appears in the alpha mask area. Thus my conclusion is the new transparency options are currently broken. If I'm missing something please tell me what setting I've got incorrectly set.

http://imagebin.org/250245

here is an image of blender outputting this file. notice the viewer node looks correct with premultiplication, but the final straight alpha file which we can see above in photoshop is broken.

http://imagebin.org/250248

Please always attach .blend file which demonstrates the issue. Blurring default cube rendered on transparent background and saving it to TGA for sure produces correct alpha. There's also some versioning code which could potentially lead to issues.

So please, save our time and attach all the files you're using for reproducing the issue.