1.glutInit(&agrc,argue):调用这个函数来初始化GLUT 2.glutInitDisplayMode:显示模式 ——GLUT—SINGLE:单缓冲模式 ——GLUT_DOUBLE:双缓冲模式 ——GLUT_RGBA:RGBA模式 3.glutInitWindowPosition:窗口的位置 glutInitWindowSize:窗口的大小 glutCreateWindow:窗口的标题 4.glutDisplayFunc:回掉函数 5.glClearColor:设置当帧缓存清空后要使用的颜色值。颜色值有四个通道(RGBA),使用单位化的值0.0-1.0来表示。 6.glutMainLoop:调用传递指令给GLUT现在开始它的内部循环 7.glClear(GL_COLOR_BUFFER_BIT):清空当前帧缓存 8.glutSwapBuffers:告诉GLUT交换双缓冲机制中前后两个缓存的角色位置,也就是二者换班,后台的缓存放到前台显示,之前显示的缓存继续到后台开始另一帧的缓存工作 代码如下:
#include<GL/freeglut.h> //freeglut窗口库
#include
//渲染回掉函数
void RenderCallBack()
{
glClear(GL_COLOR_BUFFER_BIT); //清空当前帧缓存
glutSwapBuffers(); //交换前后缓存
}
int main(int argc,char ** argv)
{
glutInit(&argc, argv); //初始化GLUT
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); //显示模式:双缓冲,RGBA
glutInitWindowPosition(200, 200); //窗口的位置
glutInitWindowSize(400, 400); //窗口的大小
glutCreateWindow("我的第一个OpenGL程序"); //窗口的标题
glutDisplayFunc(RenderCallBack); //开始渲染
glClearColor(100.0f, 0.0f, 0.0f, 0.0f); //缓存清空后的颜色值
glutMainLoop(); //开始GLUT的内部循环
return 0;
}
运行结果: 参考链接: http://ogldev.atspace.co.uk/www/tutorial01/tutorial01.html http://blog.csdn.net/cordova/article/details/77986123