RFR: 8318985: [macos] Incorrect 3D lighting on macOS 14 and later

Jayathirth D V jdv at openjdk.org
Wed Apr 23 12:19:34 UTC 2025


When no specular color is set while rendering 3D primitives, 0.0 specular power value is used by default in our shaders.
When same specular power value is used in pow() function in shader it results in undefined behaviour as mentioned at : https://registry.khronos.org/OpenGL-Refpages/es3.0/html/pow.xhtml

By default specular power value should be 32, so now the specular_none.frag file is updated to use this default value to make sure we don't see 3D lighting issues on some platforms. This changes is tested with Ensemble8 and fx83dfeatures and i don't see any regressions.

Also one of our system test _PointLightIlluminationTest_ used to fail because of this issue. It passes now with this update and it is re-enabled.

-------------

Commit messages:
 - PointLightIlluminationTest update
 - 8318985: [macos] Incorrect 3D lighting on macOS 14 and later

Changes: https://git.openjdk.org/jfx/pull/1791/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1791&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8318985
  Stats: 35 lines in 2 files changed: 2 ins; 32 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/1791.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1791/head:pull/1791

PR: https://git.openjdk.org/jfx/pull/1791


More information about the openjfx-dev mailing list