freeglut第一步

 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 }
View Code

glutInit(&argc, argv);

初始化glut,可以在命令行中使用'-sync' 和 '-gldebug’参数来进行调试错误。

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);

配置渲染参数,GLUT_DOUBLE:代表使用双缓存机制;GLUT_RGBA:渲染色彩采用格式。

glutDisplayFunc(RenderSceneCB);

注册渲染函数(每一帧都会调用)

glClear(GL_COLOR_BUFFER_BIT); 
glutSwapBuffers();

渲染时,先清除之前的渲染数据,然后把后台渲染数据切换到前台完成重新渲染

 

posted @ 2015-11-19 00:11  逍遥子云  阅读(432)  评论(0编辑  收藏  举报