Shadow jitter... but only on Intel and intermittently

A shot in the dark, maybe someone has an idea. Unfortunately, I’m unable to repro this on Playground in a minimalistic example…
Essentially, only on integrated Intel cards and pretty intermittently, the shadows start to jitter like the video. It’s almost like the jitter that TAA would do, but alas, I don’t have any TAA going on in this sample. It doesn’t look like this is a rendering order issue like in Jitter in shadow map while moving light - #6 by Mikael since the lights are static and only the camera moves. Also the jitter is pretty random, and doesn’t seem to correlate with the camera movement. Filtering method doesn’t seem to matter, and I’ve tried disabling WebGL2, and the WebGL1 version acts the same. I’m not entirely sure that’s Babylon’s bug (using 5.51-something build), but I also don’t have much going on in the custom code :thinking:

Nevermind the shadow quality, that’s after tweaking a bunch of things in Inspector…

Somehow, re-creating the ground (shadow receiver, using CreateGround) combined with ShadowOnlyMaterial is causing glitching…

What OS are you using? We already had some problems with integrated Intel on Macbooks:

1 Like

Integrated Intel 750 on Windows Dell mini-pc, works fine on macOS or non-Intel GPUs on Windows.

Platform: Win32
Browser User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34
Context Name: webgl2
GL Version: WebGL 2.0 (OpenGL ES 3.0 Chromium)
Shading Language Version: WebGL GLSL ES 3.00 (OpenGL ES GLSL ES 3.0 Chromium)
Vendor: WebKit
Renderer: WebKit WebGL
Unmasked Vendor: Google Inc. (Intel)
Unmasked Renderer: ANGLE (Intel, Intel(R) UHD Graphics 750 Direct3D11 vs_5_0 ps_5_0, D3D11)
Antialiasing: Available
ANGLE: Yes, D3D11
Major Performance Caveat: No

Are you able to use a regular material instead of ShadowOnlyMaterial? I’m afraid it’s a driver bug, so something we won’t be able to fix on our end…

1 Like

I suspected as much! Thankfully, I was able to hack our engine for this specific case: We were re-creating the ground under some conditions (if the world extent changed, etc), and seems like just making it static in this case would help