[r87] Light and shadow not appearing on all the surfaces of this demo

In this demo,


the light and shadow from the sphere don’t appear on all the planes. You may have to hit “Run” a few times to get a good random layout. Some of the Planes never receive shadow or light.

Is there something I’m missing?

This probably just appears since the sphere intersects closer ones and the lights casting from a steep angle.

@Fyrestar But even on some Planes the light never shines. Maybe it is because of the angle they are with respect to the light, so reflection doesn’t go to the camera?

Here’s another demo that shows that the shadow fades away when too far (on the edges of the view): https://jsfiddle.net/trusktr/jc6j1wmf/33

Does the material being mostly transparent have anything to do with it?

EDIT: Actually, here’s an example with high intensity, and even though the sphere is intensely lit when at the edges of the view, the Planes are not intensely lit at all, which seems obviously wrong with such a high level of intensity. The shadow should intuitively be going past the edges of the screen.


I am trying to get it working with physically correct lighting, but no luck, no light or shadow appears at all:


What am I missing?

It turns out this is because Three.js Meshes with PlaneGeometry currently don’t cast shadows by default, and the workarounds can introduce unwanted artefacts:

(Sorry for that duplicate thread, I forgot about this one!)

It’d be great to come up with a solution. I started some thought about it on GitHub.