This example is from learningwebgl.com.
You additionally need a matrix library script for this example.