Regression: some Alpha Representation types of some images in Cycles appears to only unmultiple, and not re-multiple #102942
Operating system: tested on
ATI Radeon HD 5750 OpenGL Engine ATI-1.68.25;
Apple M1 Pro Metal - 83;
NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2 NVIDIA 516.94
Broken: 3.3.1, branch: master, commit date: 2022-10-04 18:35, hash:
Short description of error
Some Alpha images (Like the ones generated by Photoshop) in Cycles Shader editor displays Alpha, Straight and Premultiplied with the same issue.
Exact steps for others to reproduce the error
- Open one the following files in 3.2.2 and 3.3.0 or later.
Sample file 1 (simpler):
Sample file 2:
Changed status from 'Needs Triage' to: 'Confirmed'
Thank you for the report, and thank you for adding additional information to try and clarify.
I will have to eliminate some of this report to focus it on the Cycles material issue, but I have attempted to answer your other points below.
I don't think this is specific to PSDs, but part of a previously reported bug. The compositor having bright edges might have the same cause as #102484 (PNG 8bit and 16bit loads differently in compositor), which would mean that the Compositor Input Node doesn't do any Straight to Associated (premultipied) conversion for any loaded from disk 8 bit per channel images, and not just pngs.
Material Cycles- Here we don't have such nodes (like in Compositor). Also semitransparent pixels here appear extensively bright.
Same for Alpha Straight or Premultiply.
In Cycles, whenever the alpha channel of the Image texture node is connected to another node, the image in unpremultiplied, so that the colors are correct when the alpha is then remultiplied back into the colors in the mixing with the transparent BSDF.
It appears that the re-multiplying isn't occurring as it was in 3.2.2.
Material - What fixed the issue here was set Alpha > Channel Packed, that is weird for me, since I understood it was designed for different purpose.
An fortunate (because it at least gives you a workaround) side effect of
3b23b5c638 I believe. Setting the Alpha Channel to Channel Packed prevents Cycles from un-premultiplying the color channels.
Another issue (probably for a new report if not reported already) is lack of refreshing Render display mode in viewport. To get viewport refreshed after Alpha type change I have to switch display modes. I'm mentioning it here just to let you know, that what you see is not what it is :)
This issue I could not repeat, the viewport updated for me whenever I changed the alpha type, both in 3.3.0 and 3.5.0 alpha.
This reminds me of #99565 (Discrepancy in Cycles rendering result appears when "Pack Resources" on tga file) and #101810 (Cycles produces glowing artifacts around the alpha clipped area of the texture).
@EAW Thanks for taking time to give me more insight into it :) Reading Brecht's notes sounds like a nightmare ...
Ad to Refreshing lag I will test it on another machine later.
This issue was referenced by
This issue was referenced by
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?