My .glb file is showing light on each individual mesh

Its like all the meshs are individually lit.

You can see above the tyres the light should be blocked by the wheel arch

Realtime rasterizers do not trace the paths of light in the way you’re probably thinking of, or might be familiar with from pathtracing renderers. For objects to occlude light, you’ll need to set up shadows (see three.js examples), enable screenspace ambient occlusion as a post-processing effect, bake ambient occlusion offline in a tool like Blender, or look into (more advanced) global illumination techniques.

I would personally start with ambient occlusion in this case, baked offline if the model is not animated.

2 Likes