http://graphics.cs.illinois.edu/cs418/sp14/mp1