About material alpha

If one vertex is behing the other you might be able to prevent the furthest pixel fragment from rendering by using the depth buffer and discarding it.

See my answer on this thread I think you can use the same approach, particularly in relation to depthTest & depthWrite: Transparent faces in Three.js - #4 by becky_rose