鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 软件教程 > 图形图像 > >

freeglut第一步

来源:互联网 作者:佚名 时间:2017-09-12 11:01
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
 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();

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

 

网友评论
<