See lpsinger/three.js@21b891af76ab5c7d20b114ab0450c8c2f5f9c6fa.