Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90533
  • 博文数量: 50
  • 博客积分: 1086
  • 博客等级: 少尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-25 16:16
文章分类
文章存档

2011年(50)

我的朋友

分类: C/C++

2011-11-15 18:58:42

一 、初始化
1void glutInit(int* argc,char** argv)
这个函数用来初始化GLUT库。对应main函数的形式应是:
int main(int argc,char* argv[]);
这个函数从main函数获取其两个参数。
2void glutInitWindowSize(int width,int height);
void glutInitWindowPosition(int x,int y);
这两个函数很好理解是设置glut程序要产生的窗口的大小和位置(左上角)。以像素为单位。
3void 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)
1void glutMainLoop(void)
让glut程序进入事件循环。在一个glut程序中最多只能调用一次。一旦调用,会直到程序结束才返回。
2glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height))
注册当前窗口的形状变化回调函数。当改变窗口大小时,该窗口的形状改变回调函数将被调用。
3glutDisplayFunc(void (GLUTCALLBACK *func)(void))
注册当前窗口的显示回调函数,当一个窗口的图像层需要重新绘制时,GLUT将调用该窗口的的显示回调函数。显示回调函数不带任何参数,它负责整个图像层的绘制。我们的大部分工作将集中在这个函数中。
4glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y))
设置鼠标器按键回调函数,当鼠标的左键、右键或中键被按下时触发被注册的函数执行。
5glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y))
设置鼠标器移动回调函数,当鼠标发生移动时执行被注册的函数。
6glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y))
设置键盘回调函数,当键盘有键被按下是调用所注册的函数。
7glutIdleFunc(void (GLUTCALLBACK *func)(void))
设置空闲回调函数,当CPU空闲时调用该函数。
阅读(678) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~