Clear coat turns material white when hemisphere light set to zero

Hi! I’m new here, just picked up babylon about a month ago, have been deliberating between babylon or threejs for a while and have to say babylon’s community was what cemented my choice and i haven’t looked back since.

I am currently doing a scene, with baked textures, no complicated lighting with just a hemispheric light with direction set at zero, the following is just an example of the my problem, does anyone see that the rectangular object in the center is completely white, when it’s supposed to be wood material.

https://www.babylonjs-playground.com/#RHAWX5

It probably makes no sense to set the hemispheric light direction to zero I know, but that’s the only way I could get an even lighting for my baked textures (i’m sure there’s other ways to do it). The problem with setting the hemisphere light to zero, is when i try to turn on clearcoat for PBR materials, they turn completely white. I’m suspecting this is a bug, because it only happens on windows desktop, and not on my andriod phone, however a strange behavior on mobile is that the hemisphere light appears to be attached to the camera, with the specular light reflecting right back at the direction of the camera when i move the camera around.(i am actually ok with this camera light behaviour)

It appears to be the same issue reported in Clear coat breaks shader in ios , but not sure its under similar circumstances, and I’m unable to find further posts that pinpoints to this issue. Anyone have any idea what’s going on? Thanks!

Welcome aboard!

Really, (0,0,0) is not supported as the direction for hemispheric lighting (or for directional or spot lights for that matter).

Computations are not meant to work in this circumstance, so can’t be considered as a bug.

Have you tried to simply not use the hemispheric light and only use the environment lighting?

Have you tried to set the ambientColor property of the materials? Don’t forget to also set the scene.ambientColor property because the final ambient color is computed as material.ambientColor * scene.ambientColor!

Thanks! I thought that android gave a different results so just naively assumed its a bug, nonetheless I totally understand (0,0,0) for direction doesn’t make any sense. My scene doesn’t have environment lighting, I’ve tried it and it too isn’t suited for my baked textures, but I’m definitely going to try out ambientColor . Thank you so much!