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