#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) /* GLUT device control sub-API. */ /* glutSetKeyRepeat modes. */ #define GLUT_KEY_REPEAT_OFF 0 #define GLUT_KEY_REPEAT_ON 1 #define GLUT_KEY_REPEAT_DEFAULT 2 /* Joystick button masks. */ #define GLUT_JOYSTICK_BUTTON_A 1 #define GLUT_JOYSTICK_BUTTON_B 2 #define GLUT_JOYSTICK_BUTTON_C 4 #define GLUT_JOYSTICK_BUTTON_D 8 GLUTAPI void APIENTRY glutIgnoreKeyRepeat(int ignore); /* 确认是否忽略自动的连续击键(即当一个键被长时间按下不松开时,判断其为一次击键或是多次击键).只对当前窗口有效.对glutKeyboardFunc()和glutSpecialFunc()两个回调函数起作用. 参数: ignore:(相当于布尔值) 0 :不忽略,即认为是连续击键 非0:忽略,即认为是一次击键 */ GLUTAPI void APIENTRY glutSetKeyRepeat(int repeatMode); /* 置自动连续击键模式的状态 参数:repeatMode: GLUT_KEY_REPEAT_OFF :关闭自动连续击键 GLUT_KEY_REPEAT_ON :打开自动连续击键 GLUT_KEY_REPEAT_DEFAULT:将自动连续击键模式重置为默认状态 */ GLUTAPI void APIENTRY glutForceJoystickFunc(void); /* 强制调用当前窗口注册的操纵杆回调函数glutJoystickFunc()一次. */ /* GLUT game mode sub-API. */ /* glutGameModeGet. */ #define GLUT_GAME_MODE_ACTIVE ((GLenum) 0) #define GLUT_GAME_MODE_POSSIBLE ((GLenum) 1) #define GLUT_GAME_MODE_WIDTH ((GLenum) 2) #define GLUT_GAME_MODE_HEIGHT ((GLenum) 3) #define GLUT_GAME_MODE_PIXEL_DEPTH ((GLenum) 4) #define GLUT_GAME_MODE_REFRESH_RATE ((GLenum) 5) #define GLUT_GAME_MODE_DISPLAY_CHANGED ((GLenum) 6) GLUTAPI void APIENTRY glutGameModeString(const char *string); /* 通过一个字符串对game mode(游戏模式,也即全屏模式)进行设置,即对屏幕进行设置. 参数: string:一个指向字符串的指针,字符串的内容即是对屏幕的设置.字符串的格式如下所示: "W*H" "W*H:Bpp" "W*H@Rr" "W*H:Bpp@Rr" "@Rr" ":Bpp" "Bpp:@Rr" (注:W:屏幕宽度,以像素单位;H:屏幕高度,以像素为单位;Bpp:每个像素的内存大小(位数);Rr:屏幕的刷新率.) glutGameModeString("800*600:32@75"); */ GLUTAPI int APIENTRY glutEnterGameMode(void); //进入相应的game mode,即让glutGameModeString()的设置生效. GLUTAPI void APIENTRY glutLeaveGameMode(void); //离开glutGameModeString()设置的game mode. GLUTAPI int APIENTRY glutGameModeGet(GLenum mode); /* 检测设置的模式是否有效 参数: mode: GLUT_GAME_MODE_ACTIVE:如果程序运行在game mode,则返回非0值,如果运行在窗口模式,则返回0. GLUT_GAME_MODE_POSSIBLE:判断glutAameModeString()的设置是否有效,如果有效则返回非0值,否则返回0.但是glut手册中有一个警告,即使这个设置是有效的,也不能保证屏幕设置可以一定成功生效. GLUT_GAME_MODE_WIDTH:返回屏幕的宽度. GLUT_GAME_MODE_HEIGHT:返回屏幕的高度. GLUT_GAME_MODE_PIXEL_DEPTH:返回当前模式下每个像素所占用的内存空间(位数). GLUT_GAME_MODE_REFRESH_RATE:返回实际的刷新率(单位赫兹). GLUT_GAME_MODE_DISPLAY_CHANGED:正如前面所说,不能保证屏幕显示模式一定根据设置发生改变,这个常量可以用来测试是否真的进入了game mode(先前是窗口模式下的情况下),如果先前已经是game mode,则可以用来测试设置是否发生改变.返回非0值表示进入了game mode或设置已经发生改变,否则返回0. */ #endif #ifdef __cplusplus } #endif #ifdef GLUT_APIENTRY_DEFINED # undef GLUT_APIENTRY_DEFINED # undef APIENTRY #endif #ifdef GLUT_WINGDIAPI_DEFINED # undef GLUT_WINGDIAPI_DEFINED # undef WINGDIAPI #endif #ifdef GLUT_DEFINED___CDECL # undef GLUT_DEFINED___CDECL # undef __cdecl #endif #ifdef GLUT_DEFINED__CRTIMP # undef GLUT_DEFINED__CRTIMP # undef _CRTIMP #endif #endif /* __glut_h__ */
OpenGL(6)GLUT库设备检测及游戏模式API
原创王孟贤 ©著作权
文章分类
©著作权归作者所有:来自51CTO博客作者王孟贤的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
openGL,glut库安装(vs2013)
最近要开始做三维重建,需要使用opencv 和 openGL,第一次使用OpenGL,当然要从装glut库来开始。glut 库文件下载地址如下
OpenGL glut 库 redis #include -
opengl库中gl glu glut glaux的区别
GL GLU GLUT的关系OpenGL中的gl库是核
头文件 跨平台 #include -
在openGL使用glut库程序闪退,而且在debug模式下无法运行
前言使用openGL开发的新手,刚开始一定会被glew:就是你要使用对老opengl的扩展,你要使用一些新的接口就要用这个!也就是说
freeglut glut glut错误 头文件 下载地址