Search Issue Tracker

By Design

Votes

0

Found in

2018.2.7f1

Issue ID

1081776

Regression

No

Alpha channel is corrupted when using RenderTexture on Metal and OpenGL

Graphics - General

-

Steps:
1. Open user's attached project ("Render Texture Test Project.zip")
2. Change Graphics API to Metal or OpenGL
3. Build and Run

Expected: Alpha channel is rendered correctly: the figure on the right appears same as the figure on the right.
Actual: Alpha channel is broken: the figure on the right has a blue, red, black or different artifact on the top.

Reproduced with: 2017.4.12f1, 2018.1.9f2, 2018.2.10f1, 2018.3.0b4, 2019.1.0a3.

Reproducible on:
Mac Metal / GLCore,
iOS Metal / GLCore
Android GLES

Not reproducible on:
Windows DX11 / GLCore / GLES / Vulkan
Android Vulkan

Note:
-the issue does not appear on Editor
-using RenderTextureFormat.ARGB32
-not reproducible if Graphics API is set to Vulkan

  1. Resolution Note (2019.1.X):

    user error:

    the shader used for blit has

    Blend SrcAlpha OneMinusSrcAlpha // Blend Src Dst

    so it does alpha blend with RT with "undefined" contents. If you remove that or explicitly clear RT (btw editor does exactly that when creating RT) results will be consistent

Comments (1)

  1. country_dragon

    Mar 09, 2019 10:44

    This is still broken. The render texture alpha channel is ignored on iOS in Unity version 2018 3.6f1 and 2018 3.8f, even when explicitly clearing the render texture using GL.Clear. The same setup worked perfectly in Unity 5 version 5.4f1.

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.