glut常用函数介绍.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GLUT常用函数介绍
stephenxjc_千年一笑
2010-7-29
对象:GLUT的入门级(初学者)
关键字:GLUT、函数
核心内容:主要是通过在一个具体的程序中函数的作用
平台:visual studio2008,需要配置好OpenGL32.lib、GLu32.lib、GlAux.Lib、glut32.lib和相应的dll文件。
正文
1示例
以上主函数里包含了常用的glut中的函数。其中,glutInit(),glutInitWindowPosition(),glutInitWindowSize() ,glutCreateWindow()等函数比较简单,程序中的介绍已经足够。下面重点介绍其它函数。
2glutInitDisplayMode()
初始化显示模式。这里主要采用RGB模式显示,并采用双缓存模式。双缓存模式相对的是单缓存,双缓存是现在后台缓存绘制,在绘制完成后,将后台与前台缓存交换,后台变前台,前台变后台,达到快速输出的效果。而单缓存,在绘制时就在唯一缓存中绘制,当绘制时间比较长时,会使屏幕比较卡。
3glutKeyBoardFunc(pressKeyboard)
其中,key为返回的按键的ASCII编码,x和y为鼠标的当前的位置。
注意:对于组合键,glut不支持多个组合键。如Ctrl+Alt+t并不会响应
4glutSpecialFunc(specialKey)
实际也是针对按键响应,但与glutKeyBoardFunc相比,前者针对的是一些特殊的按键。包括:GLUT_KEY_F1,GLUT_KEY_F2,GLUT_KEY_F3,GLUT_KEY_F4,GLUT_KEY_F5,GLUT_KEY_F6,GLUT_KEY _F7,GLUT_KEY_F8,GLUT_KEY_F9,GLUT_KEY_F10,GLUT_KEY_F11,GLUT_KEY_F12,GLUT_KEY_LEFT, GLUT_KEY_UP,GLUT_KEY_RIGHT,GLUT_KEY_DOWN,GLUT_KEY_PAGE_UP,GLUT_KEY_PAGE_DOW N,GLUT_KEY_HOME,GLUT_KEY_END,GLUT_KEY_INSERT。函数结构与glutKeyBoardFunc相同。
5glutMouseFunc(pickTarget)
鼠标点击响应。pickTarget函数结构如下:
6glutMotionFunc(mouseMotion)
按住鼠标移动。mouseMotion的函数结构如下:void mouseMotion(int x,int y){}。xy为鼠标的屏幕坐标。
在鼠标拖动过程中,与前一刻的鼠标坐标相比较,就可以比较快得到鼠标的运动情况(如鼠标的运动方向)
7glutDisplayFunc(display)
display主要是显示输出函数,需要与opengl结合,这里不仔细讲,可以参看opengl的一些绘制函数示例。这里给出一个示例,结构如下:
8glutReshapeFunc(reshape)
对于窗口调整时,需要进行的操作。通常在opengl里,需要进行一些投影变换和视口变换。这里对于具体什么事投影变换和视口变换不介绍,可以查看《opengl编程指南》这本书。
9glutMainLoop()
在程序中调用一次,使程序能够进入循环,等待输入。
10glutPostRedisplay()
通常,有外界输入,为了使屏幕能够有相应的响应变化,需要调用该函数,重新绘制,显示输出。