opengl4.ppt-靜宜大學資訊學院.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
opengl4.ppt-靜宜大學資訊學院

GLUT 事件處理函式 靜宜大學資管系 蔡奇偉 副教授 2003-2006 大綱 註冊處理事件的 callback 函式 註冊鍵盤輸入的 callback glutKeyboardFunc glutSpecialFunc 註冊滑鼠操作的 callback glutMouseFunc glutMotionFunc glutPassiveMotionFunc glutGetModifiers glutKeyboardFunc void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); 此函式註冊處理鍵盤輸入字元鍵的 callback 函式。當使用者在目前視窗中敲入能產生 ASCII 碼的按鍵時,GLUT 就會自動執行你所指定的 callback 函式,並傳入下列三項資料: key: 輸入鍵的 ASCII 碼。 x: 按鍵時滑鼠在視窗位置的 x 座標。 y: 按鍵時滑鼠在視窗位置的 y 座標。 範例 // draw_triangle(), draw_square(), and draw_circle() are // functions to darw a triangle, a square, and a circle, // respectively. void draw_figure (unsigned char key, int x, int y) { switch (key) { case ‘1’: draw_triangle(); break; case ‘2’: draw_square(); break; case ‘3’: draw_circle(); break; } glutPostRedisplay(); // update the window } // in main() function // glutKeyboardFunc(draw_figure); glutSpecialFunc void glutSpecialFunc(void (*func)(int key, int x, int y)); 此函式註冊處理鍵盤輸入功能鍵或方向鍵的 callback 函式。當使用者在目前視窗中敲入功能鍵或方向鍵時,GLUT 就會自動執行你所指定的 callback 函式,並傳入下列三項資料: key: 功能鍵或方向鍵的 GLUT 鍵名(見下一頁)。 x: 按鍵時滑鼠在視窗位置的 x 座標。 y: 按鍵時滑鼠在視窗位置的 y 座標。 GLUT 鍵名 按鍵 GLUT_KEY_F1 F1 功能鍵 GLUT_KEY_F2 F2 功能鍵 GLUT_KEY_F3 F3 功能鍵 GLUT_KEY_F4 F4 功能鍵 GLUT_KEY_F5 F5 功能鍵 GLUT_KEY_F6 F6 功能鍵 GLUT_KEY_F7 F7 功能鍵 GLUT_KEY_F8 F8 功能鍵 GLUT_KEY_F9 F9 功能鍵 GLUT_KEY_F10 F10 功能鍵 GLUT_KEY_F11 F11 功能鍵 GLUT_KEY_F12 F12 功能鍵 GLUT_KEY_LEFT ? 方向鍵 GLUT_KEY_UP ? 方向鍵 GLUT_KEY_RIGHT ? 方向鍵 GLUT_KEY_DOWN ? 方向鍵 GLUT_KEY_PAGE_UP Page up 方向鍵 GLUT_KEY_PAGE_DOWN Page down 方向鍵 GLUT_KEY_HOME Home 方向鍵 GLUT_KEY_END End 方向鍵 GLUT_KEY_INSERT Insert 鍵 #include GL/glut.h int window_width = 250, window_height = 250; float center_x = 0.5, center_y = 0.5, half_width = 0.25; const float inc_amount = 0.01; void display(void) { glClear (GL_COLOR_BUFFER_BIT); /* clear all pixels */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex3f (center_x - half_width, center_y - half_width, 0.0);

文档评论(0)

teda + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档