Example from: stemkoski.github.io/Three.js/Materials-Solid.html