- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
opengl重要函数.doc
【CG】GLUT库下的部分主要函数
一 、初始化
1、void glutInit(int* argc,char** argv)
这个函数用来初始化GLUT库。对应main函数的形式应是:
int main(int argc,char* argv[]);
这个函数从main函数获取其两个参数。
2、void glutInitWindowSize(int width,int height);
void glutInitWindowPosition(int x,int y);
这两个函数很好理解是设置glut程序要产生的窗口的大小和位置(左上角)。以像素为单位。
3、void glutInitDisplayMode(unsigned int mode);
??? 设置图形显示模式。参数mode的可选值为:
??? GLUT_RGBA:当未指明GLUT—RGBA或GLUT—INDEX时,是默认使用的模式。
表明欲建立RGBA模式的窗口。
??? GLUT_RGB:与GLUT—RGBA作用相同。
??? GLUT_INDEX:指明为颜色索引模式。
??? GLUT_SINGLE:只使用单缓存
??? GLUT_DOUBLE:使用双缓存。以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。
??? GLUT_ACCUM:让窗口使用累加的缓存。
??? GLUT_ALPHA:让颜色缓冲区使用alpha组件。
??? GLUT_DEPTH:使用深度缓存。
??? GLUT_STENCIL:使用模板缓存。
??? GLUT_MULTISAMPLE:让窗口支持多例程。
??? GLUT_STEREO:使窗口支持立体。
??? GLUT_LUMINACE:luminance是亮度的意思。但是很遗憾,在多数OpenGL平台上,不被支持。
二、事件处理(Event Processing)
1、void ?glutMainLoop(void)
????? 让glut程序进入事件循环。在一个glut程序中最多只能调用一次。一旦调用,会直到程序结束才返回。
2、glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height))
??????? 注册当前窗口的形状变化回调函数。当改变窗口大小时,该窗口的形状改变回调函数将被调用。
3、glutDisplayFunc(void (GLUTCALLBACK *func)(void))
?注册当前窗口的显示回调函数,当一个窗口的图像层需要重新绘制时,GLUT将调用该窗口的的显示回调函数。显示回调函数不带任何参数,它负责整个图像层的绘制。我们的大部分工作将集中在这个函数中。
4、glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y))
??????? 设置鼠标器按键回调函数,当鼠标的左键、右键或中键被按下时触发被注册的函数执行。
5、glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y))
设置鼠标器移动回调函数,当鼠标发生移动时执行被注册的函数。
6、glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y))
设置键盘回调函数,当键盘有键被按下是调用所注册的函数。
7、glutIdleFunc(void (GLUTCALLBACK *func)(void))
?????? 设置空闲回调函数,当CPU空闲时调用该函数。
三、窗口管理(Window Management)
1、int glutCreateWindow(char* name);
??? 产生一个顶层的窗口。name 作为窗口的名字,也就是窗口标题栏显示的内容。
??? 返回值是生成窗口的标记符,可用函数glutGetWindow()加以引用。
2、int glutCreateSubWindow(int win,int x,int y,int width,int height);
??? 创建一个子窗口。win是其父窗口的标记符。x,y是相对父窗口的位移,以像素表示。
??? width,height是子窗口的宽和高。
3、void glutSetWindow(int win)
??? int glutGetWindow(void)
??? 功能分别是:设置标记符为win的窗口为当前窗口;返回当前窗口的标记符。
4、void glutDestroyWindow(int win)
??? 销毁以win标记的窗口。
5、void glutPostRe
文档评论(0)