basic example code from go-gl/examples