In UE5.6 MobileSpecularGGX was removed and now mobile devices also run D_GGX. The problem is that there are still cases where very bright values are produced (image 1) and thus NaNs appear in the Bloom Base pass (image 2).
A potential workaround is to modify D_GGX this way (see code), adding the clamp present in MobileSpecularGGX. Confirmed working on device.
The second option is to improve the Bloom setup pass to handle these cases. However, having these bright samples in the rest of the pipeline is also problematic.
float D_GGX( float a2, float NoH )
{ float d = ( NoH * a2 - NoH ) * NoH + 1; // 2 mad #if SHADING_PATH_MOBILE return min(a2 / ( PI*d*d ), 2048.0); #else return a2 / ( PI*d*d ); // 4 mul, 1 rcp #endif }There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-334068 in the post.
0 |
Component | UE - Platform - Mobile |
---|---|
Affects Versions | 5.6 |
Target Fix | 5.8 |
Created | Sep 24, 2025 |
---|---|
Updated | Oct 21, 2025 |