Faking roughness values on Android

From my understanding roughness values on Android under ES 3.1 are either a 0 or 1 value, and no in between. I’m wondering from a material perspective is there a way to enter a blurred cubemap with a low value to ‘fake’ the effects of Mobile Reflections?

I’m specifically using nVidia’s Shield Portable (Tegra 4) and if there’s anything specific that I can do to obtain better reflections on this device, that’d be awesome. :slight_smile:

Any method of faking is cool. :slight_smile:

Not easily done inside the material editor itself. I think the main reason of it not being supported is that it samples the reflection map at different mipmap levels based on the value “roughness”. That is my understanding of it at least. I tried doing this myself in OpenGLES but it didn’t seem to work out.

If you have a small scene you could capture a cubemap (render target cube) of the scene and save different blurred version of it. Iterpolate between them based on a roughness map or value. This is extremely expensive! And you would have to set up the uv’s for box and sphere projections yourself. This whole setup only works if you don’t need more than a couple of cubemaps for your game.

If you need to switch cubemaps around ingame, you could change the cubemap texture through blueprint based on a trigger.