Before we get into shaders, it's probably a good idea to explain what three js are. Threejs is a javascript library that simplifies creating 3D scenes on a canvas. Other popular solutions like a-frame and whitestorm js build on it. If you've played with it before but want even more control, give it a try!