http://iphonedevelopment.blogspot.com/2010/10/opengl-es-20-for-ios-chapter-3.html