Straight to the point: despite promising claims stated in this article I am unable to use the Optimized Blur and Bloom effects on Android. The only feedback I get states that: “The shader Hidden/FastBlur (UnityEngine.Shader) on effect BlurCamera (UnityStandardAssets.ImageEffects.BlurOptimized) is not supported on this platform!”. I suppose (or maybe I’m wrong) that hardware is not the issue, it’s been tested on Sony Xperia C5303 with Adreno 320 GPU on board supporting OpenGL ES 3.0. I looked throughout the entire web looking for a solution and skyrocketed everything in the quality panel in my desperate attempts to make my game look pretty again.
Simply remove the const keyword and it should work correctly. I’m not sure what the performance implications are from the array not being constant, although it works like a charm on my Xperia SP.
Thanks a lot! You just saved me lot of time. Removed the const keyword for the array and made them fixed and it’s working as expected. I thought it was an optimized shader, why would they declare those arrays as half s?
Thanx Goric! The blur was working on my Xperia M2, but it had an awful performance. (I think the issue was because I was interpolating the blur size to give it some ease effect), however, removing the const keywords fixed the problem entirely.
Unfortunately, removing the 2 “const” qualifiers from MobileBloom.shader does not solve my problem here on Nexus 5.
The Bloom Optimized effect itself is good, but it conflicts with the Unity UI if the canvas uses Screen Space - Camera. <---- Due to UI camera Clear Flag > Don’t Clear.