Description

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 }

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-334068 in the post.

0
Login to Vote

Unresolved
ComponentUE - Platform - Mobile
Affects Versions5.6
Target Fix5.8
CreatedSep 24, 2025
UpdatedOct 21, 2025
View Jira Issue