Using PixelDepthOffset with OpenGL ES 3.1 on Android

No I don’t think that PixelDepthOffset has anything to do with Mobile HDR.

I have created a material using PixelDepthOffset to manually modify the zdepth of the pixels.

I have followed the instructions on this page : https://docs.unrealengine.com/latest/INT/Platforms/Android/OpenGLES31MobileRenderer/

to enable OpenGL ES 3.1 Mobile renderer.

This page: gl_FragDepth - OpenGL ES 3.1 Reference Pages
confirms that GL_FragDepth (the OpenGL instruction for manually setting the pixel zdepth) is valid with OpenGL ES 3.1,

But the PixelDepthOffset functionality is still not working in the Editor Preview, even when set to OpenGL ES 3.1.

What am I missing? What is the process to activate PixelDepthOffset with OpenGL ES 3.1?

I’m running into the same issue. I have a sky sphere with a custom depth texture I’m writing out to Pixel Depth Offset. No matter what value I use, UE4 is using the sky sphere’s geometry’s depth value for the depth offset. It feels like it’s not writing to GL_FragDepth. I’m using UE4’s built in material blueprint system. On the sky sphere’s render settings I have “Treat as Background” checked and “Use as Occluder” unchecked. Objects are still being clipped by the sphere’s geometry when instead I need them to be z tested against the value I stuff in Pixel Depth Offset.

I’ve made a pull request here to fix this issue: https://github.com/EpicGames/UnrealEngine/pull/3915

Does it work on phones by any chance?