Substrate - Feedback Thread

Hi Seb,
I’m checking OpenPBR interoperability between my own material tool, Blender and UE 5.8.0, and found a possible discrepancy in MF_OpenPBR_IOR.

With IOR 1.5, specular weight 1 and no coat, I expect normal-incidence reflectance F0 = 0.04. An unlit GPU probe instead returns approximately 0.02667. Looking at the function graph, the specular-weight clamp appears to use a maximum of 1/IOR rather than 1/F0.

We also tested a plain Substrate Slab with F0 supplied directly, bypassing the OpenPBR conversion. To isolate the conversion itself, the numerical probe outputs its calculated F0 through Emissive and reads linear floating-point SceneColor, avoiding lighting and display-transform differences.

A temporary diagnostic change to the clamp brings the probe result to approximately 0.04 and reduces the visual difference, although some differences remain.

Is this intentional, a known issue, or already corrected in a newer version? I plan to retest the latest hotfix, but wanted to check my understanding before filing a bug report. I can provide the reproduction and numerical results.

Attached images:

  1. Blender: Principled approximation.
  2. My tool: OpenPBR reference-based shading.
  3. UE 5.8.0: native OpenPBR/Substrate, without the clamp adjustment.
  4. UE 5.8.0: temporary clamp adjustment for diagnosis.

Thanks for reporting! This has been fixed and will be in UE6. change available here if anyone wants to integrate it early.

1 Like