1 #include <GL/freeglut.h> 2 3 static void RenderSceneCB() 4 { 5 glClear(GL_COLOR_BUFFER_BIT); 6 glutSwapBuffers(); 7 } 8 9 static void InitializeGlutCallbacks() 10 { 11 glutDisplayFunc(RenderSceneCB); 12 } 13 14 15 int main(int argc, char** argv) 16 { 17 glutInit(&argc, argv); 18 glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA); 19 glutInitWindowSize(1024, 768); 20 glutInitWindowPosition(100, 100); 21 glutCreateWindow("Tutorial 01"); 22 23 InitializeGlutCallbacks(); 24 25 glClearColor(0.0f, 0.0f, 0.0f, 0.0f); 26 27 glutMainLoop(); 28 29 return 0; 30 }
glutInit(&argc, argv);
初始化glut,可以在命令行中使用‘-sync‘ 和 ‘-gldebug’参数来进行调试错误。
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
配置渲染参数,GLUT_DOUBLE:代表使用双缓存机制;GLUT_RGBA:渲染色彩采用格式。
glutDisplayFunc(RenderSceneCB);
注册渲染函数(每一帧都会调用)
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
渲染时,先清除之前的渲染数据,然后把后台渲染数据切换到前台完成重新渲染
时间: 2024-12-20 11:06:51