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

Jayathirth D V jdv at openjdk.org
Wed Apr 23 15:13:58 UTC 2025


On Wed, 23 Apr 2025 13:59:43 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:

>> 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 change 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.
>
> Please wait for 24 hours before integrating.

> @arapte I have run all headful system tests in CI on linux and it is green. This change will effect all platforms where OpenGL will be used, but not using 0.0 in pow() on all platforms is right thing to do.
> 
> Just to be sure i will also run Ensemble8 in Linux and update.

I have verified Ensemble8 3D demos(played around with specular parameters in 3DSphere demo) on Ubuntu 24.04 and i don't see any issues.

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

PR Comment: https://git.openjdk.org/jfx/pull/1791#issuecomment-2824644604


More information about the openjfx-dev mailing list