#include <GL/freeglut.h> static void RenderSceneCB()
{
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
} static void InitializeGlutCallbacks()
{
glutDisplayFunc(RenderSceneCB);
} int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
glutInitWindowSize(, );
glutInitWindowPosition(, );
glutCreateWindow("Tutorial 01"); InitializeGlutCallbacks(); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glutMainLoop(); return ;
}
glutInit(&argc, argv);
初始化glut,可以在命令行中使用'-sync' 和 '-gldebug’参数来进行调试错误。
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
配置渲染参数,GLUT_DOUBLE:代表使用双缓存机制;GLUT_RGBA:渲染色彩采用格式。
glutDisplayFunc(RenderSceneCB);
注册渲染函数(每一帧都会调用)
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
渲染时,先清除之前的渲染数据,然后把后台渲染数据切换到前台完成重新渲染