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.
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 personally think this is probably caused by insufficient hardware support of Huawei p20 (Mali-G72), if the sony phone does not have this problem
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…
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.
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?