Chapter 3: opengl's moving triangle