Post-processing produces strange rendering results on some Android devices.

Hi All,

I am currently working on a game targeting Android and would love to turn on post-processing; yet, having post-processing on produces strange rendering results on some Android models; the rendering on Huawei P20 is broken while working fine on Sony XZ1.

I am using Built-in Pipeline. In player setting, I’ve tried prioritizing either OpenGLES3 or Vulkan.

When OpenGELS2 is prioritized and when post-processing is on, terrain and skybox appear black.

When Vulkan is prioritized and when post-processing is on, skybox loses depth and is drawn on top of other gameobjects. Some other shaders also become problematic; water shader loses depth, and leaves can’t be clipped.

I was wondering if there’s any solution to using post-process on Android devices.

Thanks!
-renee

Hi! @reedreedchen

  1. What’s your unity version?
  2. Do you use Post-Processing V2?
  3. Does this issue occur 100% in Huawei P20?
  4. Can you post a few screenshots or videos about this issue?
    Thanks

Hi Zhang,

I am using 2019.4.30. And Yes I am using Post-Processing V2. It does happen consistently on Huawei P20.

While using Vulkan, the loss of depth does not happen when the camera is set to Forward. Is Deferred rendering compatible with Post-Processing on Android? Does Deferred rendering causing the loss of depth on some Android devices? What’s the dynamic?

I just took some screenshots on my Huawei P20 of a small project on which I reproduced the issue.

It’s that when fog and post processing are both on, there’s an issue.

I am still using Vulkan and Deferred.

Case1 - Fog off & post processing on; depth is ok:

Case2 - Fog on & post processing off; depth is ok:

Case3 - Fog on & post processing on; cloud and water lost depth:

Hi!

I personally think this is probably caused by insufficient hardware support of Huawei p20 (Mali-G72), if the sony phone does not have this problem

  1. Defered rendering will use multi-render passes and multi-render targets(MRT, limited in mobile phone), so some older devices may have some texture buffers or shader models support issues, etc…

https://docs.unity3d.com/Packages/com.unity.postprocessing@2.3/manual/Deferred-Fog.html

If this problem is really related to the hardware of the device, unless you use forward rendering, there is no other good solutions to this problem… Here I still recommend using forward rendering as much as possible on the mobile phone. or you can implement a simple fog effect by yourself.

Hi,

Still using Vulkan and Defer rendering on Android.

I’ve tested my .apk on a few android phones. Fog has issues on rendering transparent gameobjects when post-process is on. What bugs me is that when post-process isn’t on, fog is ok.

I can but wonder why they conflict with each other? Is this a bug?

On Sony XZ1:

On Galaxy S20+:

Post-Processing is not suitable for some android devices… But on the iOS everything is OK

So you must use other post effects…
for example:
Auto Exposure Color Grading
Kino Bloom

Hi i am having a issue on when i apply post processing on Landscape android game. The models are tilted like thier Quaternion.z = 90.

when i disable post processing Layer and Volume in inspector and take out the build they appear fine.

any one else faced this issue before?

works fine in the editor.