Beginning Opengl Game Programming [with Cdrom] by Dave Astle, Kevin Hawkins & Luke Benstead