0.绘图基础
建议都先看《第一次约会:简单的绘图》http://blog.youkuaiyun.com/tobec3sdn/article/details/7064569。
1.关键在于Timer
重写glutTimerFunc(int,fun*,int),第一个参数时间,第二个参数是函数指针,第三个参数为value(比较奇葩,可为回调函数传参)。
指定的回调函数应包含glutPostRedisplay()用于重绘,和glutTimerFunc(int,fun*,int)(比较特别,如果不写也就没有了计时器的功能)。在这里改变全局变量x、y,作为后面的画图的坐标。
2.修改绘图函数
如前文用到的RenderScene函数,用变量代替具体值来画图。
3.设置双缓冲模式
修改glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA)代替单缓冲,然后将RenderScene的glutFlush()改为glutSwapBuffers()。
(这里有个插曲,当我将Flush改成了SwapBuffers后,就是忘了改InitDisplayMode,导致最后只显示出白屏,还调试了很久。。。后人不要重蹈覆辙啊。。。。。。)