轉載自:http://blog.csdn.net/zckloveczy/archive/2009/06/03/4240189.aspx
感謝原創作者。
OpenGL中的gl庫是核心庫,glu是實用庫,glut是工具 + 生產力庫,gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平台 工具庫,gl中包含了最基本的3D函數,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。glut是基本的視窗界 面,是獨立於gl和glu的,如果不喜歡用glut可以用MFC和Win32視窗等代替,但是glut是跨平台的,這就保證了我們編出的程式是跨平台的, 如果用MFC或者Win32隻能在windows作業系統上使用。選擇OpenGL的一個很大原因就是因為它的跨平台性,所以我們可以盡量的使用glut 庫。
關於glut中的鍵盤處理函數中key的取值:
glut中關於鍵盤的函數有兩個,glutKeyboardFunc(keyFcn);glutSpecialFunc(specialKeyFcn);
void keyFcn(glubyte key,GLint xMouse,GLint yMouse)
參數key的取值是一個字元值或者對應ASCII編碼。返回的滑鼠游標在視窗內的位置座標(xMouse,yMouse)是相對於視窗左上方的。當 一個指定的按鍵按下時,我們就可以用滑鼠位置來啟動某些行為。
void SpecialKeyFcn(GLint specialKey,GLint xMouse,GLint yMouse)
參數specialKey的取值是具有整數值的GlUT常量。功能鍵符號常量GLUT_KEY_F1到GLUT_KEY_F12.方向鍵的符號常量 類似GLUT_KEY_PAGE_DOWN,GLUT_KEY_HOME等指定。"backspace","delete",和"escape"鍵通過 glutKeyboardFunc用他們的ASCII編碼指定,分別為8,127和27.