Three.js is a low-overhead javaascript library that allows some complex animations using the WebGL library. The main advantage of using WebGL is that the processing is done in the browser, saving overhead and allowing smooth performance at any bandwidth.