欢迎来到天天文库
浏览记录
ID:39466696
大小:198.50 KB
页数:12页
时间:2019-07-04
《OpenGL 中常用的 GLUT 函数库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OpenGL中常用的GLUT函数库GLUT函数说明一、初始化voidglutInit(int*argc,char**argv) 这个函数用来初始化GLUT库。对应main函数的形式应是:intmain(intargc,char*argv[]);这个函数从main函数获取其两个参数。1voidglutInitWindowSize(intwidth,intheight);2voidglutInitWindowPosition(intx,inty); 设置glut程序要产生的窗口的大小和位置(左上角)。以像素为单位。voidglutInitDisplayMode(unsignedint
2、mode); 设置图形显示模式。参数mode的可选值为:·GLUT_RGBA: 当未指明GLUT-RGBA或GLUT-INDEX时,是默认使用的模式。表明欲建立RGBA模式的窗口。·GLUT_RGB: 与GLUT-RGBA作用相同。·GLUT_INDEX: 指明为颜色索引模式。·GLUT_SINGLE: 只使用单缓存 ·GLUT_DOUBLE: 使用双缓存。以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。 ·GLUT_ACCUM: 让窗口使用累加的缓存。 ·GLUT_ALPHA: 让颜色缓冲区使用alpha组件
3、。·GLUT_DEPTH: 使用深度缓存。·GLUT_STENCIL: 使用模板缓存。 ·GLUT_MULTISAMPLE:让窗口支持多例程。 ·GLUT_STEREO: 使窗口支持立体。·GLUT_LUMINACE: luminance是亮度的意思。但是很遗憾,在多数OpenGL平台上,不被支持。二、事件处理(EventProcessing) voidglutMainLoop(void)让glut程序进入事件循环。在一个glut程序中最多只能调用一次。一旦调用,会直到程序结束才返回。 三、窗口管理(WindowManagement)intglutCr
4、eateWindow(char*name); 产生一个顶层的窗口。name作为窗口的名字,也就是窗口标题栏显示的内容。返回值是生成窗口的标记符,可用函数glutGetWindow()加以引用。intglutCreateSubWindow(intwin,intx,inty,intwidth,intheight); 创建一个子窗口。win是其父窗口的标记符。x,y是相对父窗口的位移,以像素表示。width,height是子窗口的宽和高。voidglutSetWindow(intwin);intglutGetWindow(void); 功能分别是:设置标记符为win的窗口为当前窗口;返
5、回当前窗口的标记符。voidglutDestroyWindow(intwin); 销毁以win标记的窗口。voidglutPostRedisplay(void); 将当前窗口打上标记,标记其需要再次显示。voidglutSwapBuffers(void); 当窗口模式为双缓存时,此函数的功能就是把后台缓存的内容交换到前台显示。当然,只有单缓存时,使用它的功能跟用glFlush()一样。而使用双缓存是为了把完整图画一次性显示在窗口上,或者是为了实现动画。voidglutPositionWindow(intx,inty); 改变当前窗口的位置:当前窗口是顶层窗口时,x,y是相对于屏幕
6、的的位移;当前窗口若是子窗口时,x,y是相对其父窗口原点的位移。voidglutReshapeWindow(intwidth,intheight); 改变当前窗口的大小。width,height是当前窗口新的宽度和高度值,当然只能是正值。voidglutFullscreen(void); 让当前窗口全屏显示。当前窗口是顶层窗口时才有效。voidglutPopWindow(void);voidglutPushWindow(void); 对顶层窗口和子窗口均有效。改变当前窗口在栈中相对于其它窗口的次序。voidglutShowWindow(void);voidglutHideWind
7、ow(void);voidglutIconifyWindow(void); 这三个函数作用是改变当前窗口的显示状态。glutShowWindow让当前窗口可视(这时它还是可能被其它窗口挡住)。glutHideWindow让当前窗口成为不可视状态。glutIconifyWindow让当前窗口成为一个图标,也即是最小化。voidglutSetWindowTitle(char*name);voidglutSetIconTitle(char*name);设置当前窗口(必须是顶层窗口)的标
此文档下载收益归作者所有