Search Issue Tracker

Fixed in 5.0

Votes

20

Found in

4.5.2p1

Issue ID

620787

Regression

No

BackBuffer alpha channel is always set to 1 on android devices

Mobile Rendering

-

Alpha channel BackBuffer is always set to one on android devices from Unity 4.3

Comments (2)

  1. 74946c377b852dc50a88a37a12a1bfab?d=mm

    Sudhir.Singh2k2

    Sep 11, 2014 23:47

    "The only way to solve this problem right now (that I can see) is to render to an intermediate rt and then blit to the screen as a last step. This might be something we will do behind the scenes in the future if we can find a way of detecting buggy compositors. But as of now you will have to do this yourself."

    Can you give example code of how to do this?

  2. 1ea605b1ddf7925a813432c1e198e210?d=mm

    bitter

    Sep 10, 2014 09:07

    This was an intentional change - "Android: 32bit display buffer without alpha is now the default to avoid compositor bugs on android." (rel. notes 4.3)

    The thing is that a lot of devices have problems using alpha in the screen framebuffer. Prior to 4.3 alpha presence would be random depending on the device. While working on Unity 4.3 a version of JB was released that pretty much screwed up the alpha channel on all devices so at that point we decided to make it consistent/deterministic by disabling alpha in the default framebuffer.

    The only way to solve this problem right now (that I can see) is to render to an intermediate rt and then blit to the screen as a last step. This might be something we will do behind the scenes in the future if we can find a way of detecting buggy compositors. But as of now you will have to do this yourself.

    ps. I didn't close the bug with "by design" because I would really like to find a solution to this problem.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.