from the docs it states that:
" When shadow-casting with a DirectionalLight or SpotLight, if you are modifying vertex positions in the vertex shader you must specify a customDepthMaterial for proper shadows"
what causes the shadows to break when changing the vertices? and how does customDepthMaterial mitigate this? what is customDepthMaterial instance of? can it be an instance of THREE.MeshBasicMaterial etc?
how do i approach answering these kinds of questions from the source code itself? how do i navigate the codebase / repo history to get this answer?
thank you so much