Code source from QtOpenGL tutorial