OpenGL中gl,glu,glut的區別

來源:互聯網
上載者:User

轉載自: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.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.