OpenGL实用工具库GLUT

1. 窗口管理

glutInit(int *argc, char ** argv)
初始化GLUT并处理命令行参数,应在其他GLUT函数前调用。

glutInitDisplayMode(unsigned int mode);
指定使用RGBA颜色模式还是颜色索引模式。
指定使用单缓存还是双缓存。
例如:glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH)

glutInitWindowPosition(int x, int y);
指定窗口左上角在屏幕上的位置。

glutInitWindowSize(int width,int size);
指定窗口大小,单位像素。

glutInitContextVersion(int majorVersion,int minorVersion);
指定使用的OpenGL版本(这是freeglut库中的新特性,在OpenGL3.0中有介绍)

glutInitContextFlags(int flags)
指定使用的OpenGL场景类型。标准的OpenGL操作可以省略该步调用。如果要使用向后兼容的OpenGL场景,就要调用该函数。(也是3.0新特性。)

注:OpenGL场景,原文OpenGL Context

int glutCreateWindow(char *string);
使用一个OpenGL场景创建一个窗口,它返回一个新窗口的唯一标识符。注意:在glutMainLoop()被调用前,这个窗口都不会显示。

2. 显示回调函数

glutDisplayFunc(void (*func)(void))
第一个也是最重要的事件回调函数。GLUT要重新显示显示窗口的内容时,会执行glutDisplayFunc()注册的所有函数。也就是,所有重画的处理函数都要用它注册。

有时程序改变了显示窗口的内容,因此不得不手动调用glutPostRedisplay()来重新显示。glutPostRedisplay()会提醒glutMainLoop()调用注册了的显示回调函数。

3. 执行程序

glutMainLoop()
调用了glutMainLoop()之后,才创建、呈现和渲染显示窗口。

原文地址:https://www.cnblogs.com/mumuliang/p/1873457.html