Jump to content

Alpha channel/Mask overrides RGB channel


frmdbl

Recommended Posts

To sum up this issue in a sentence:

When I'm applying a mask to a texture layer or I'm modyfing it's alpha channel, the parts of the RGB image where the alpha or mask is black are also overwritten with black color instead of preserving the proper channel values.

Even loading the 'spare channels' into RGB channels doesn't help.

 

The correct behaviour would be to preserve each RGB channel's value, I might be wrong, but hasn't this worked a few revisions back.

Please repair it, it ruins my UE4 workflow.

Affinity_Bug.afphoto

Edited by frmdbl
Link to comment
Share on other sites

Welcome to the Affinity forums :)

The problem is the Affinity document flattening process sets R, G and B to zero where alpha is zero. This makes the app useless to thousands of potential customers, it has been brought up numerous times over the years and it would be trivial to change, but Serif seems to be uninterested for some reason.

Link to comment
Share on other sites

It really pisses me off.

I don't know, maybe it has something to do with copyright, but every photo app that even indirectly tries to be a Photoshop replacement reinvents the wheel when it comes to alpha channel and channels in general.

 

Is there any sign any of the developers are aware of this problem? There doesn't seem to be a lot of interest on this topic on the forums, but maybe if enough people spammed the devs something would change.

 

Edited by frmdbl
Link to comment
Share on other sites

12 minutes ago, frmdbl said:

It really pisses me off.

I don't know, maybe it has something to do with copyright, but every photo app that even indirectly tries to be a Photoshop replacement reinvents the wheel when it comes to alpha channel and channels in general.

No copyright can forbid Serif from not setting R, G and B to zero when alpha is zero.

15 minutes ago, frmdbl said:

Is there any sign any of the developers are aware of this problem?

I don't know about a sign, but I'd be surprised if there is no awareness in the Affinity development team.

Link to comment
Share on other sites

@anon2

I guess it's to do with stripping the unnecessary data cause Krita does the same exact thing.

The way channels work in Krita is probably even more effed up, but results in same issues.

I hoped though that as Affinity Photo is actually a paid app things would improve over time.

Link to comment
Share on other sites

6 minutes ago, MEB said:

 I haven't found any bug report for this on our system. It's possible it may have been logged but i can't find it. In any case I've filled a (new) bug report now.
 

There have been numerous complaints (maybe not actual bug reports) about this matter. I have commented about it in several threads, but you probably are the first Serif person to respond.

Link to comment
Share on other sites

Well, I hope this is fixed in whatever way possible.

I guess if the reason for this behaviour is performance or some other optimization,

maybe there at least is a possibility to add some override option either per layer/group of in the global settings.

Link to comment
Share on other sites

  • 1 year later...
21 hours ago, frmdbl said:

Is there any news about this bug?

Just a question While trying to find potential workarounds: could you live with alpha 1/255 instead of 0?

the layer becomes practically invisible, but all RGB values stay intact.

If working with mask layers, this “non-zero” effect can be achieved by using a nested channel mixer (or levels or curves) adding a small offset (practically compressing the 0-255 range into 1-255).

I fully support the feature request to let the user choose to not zero RGB values when alpha becomes zero.

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

@NotMyFault

So you're saying the RGB channels would be intact, but the alpha would be in the 1/255 range?

I guess I could live with that, but I'm not sure how practical it would be.

I really hope the devs at just make an option to change this behaviour (if the zeroing/clipping is just for performance reasons).

Link to comment
Share on other sites

  • 10 months later...
On 3/30/2022 at 2:47 AM, NotMyFault said:

Just a question While trying to find potential workarounds: could you live with alpha 1/255 instead of 0?

the layer becomes practically invisible, but all RGB values stay intact.

If working with mask layers, this “non-zero” effect can be achieved by using a nested channel mixer (or levels or curves) adding a small offset (practically compressing the 0-255 range into 1-255).

I fully support the feature request to let the user choose to not zero RGB values when alpha becomes zero.

This would be incorrect behavior.

When writing the RGBA channels, they should be treated as separate entities.

How Affinity works today is wrong. If I read a PNG file then write it out, Affinity will change the data in the RGB channels (it will apply the alpha like a white mask).

This is incorrect behavior. There should be no masking. RGB and Alpha are separate and distinct channels. When writing you do not mask RGB with the alpha. Ever.

Doing so means that Affinity can read a PNG file but will alter it upon write — even if the user does nothing.

BTW, the .afphoto file retains the RGB information. You just can’t export it without it getting masked by the alpha. 

This is incorrect behavior. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.