亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

glut庫下的主要函數:

系統 1692 0

?glut庫下的主要函數:?

一。初始化?

?void?glutInit(int*?argc,char**?argv)?

?這個函數用來初始化GLUT庫。對應main函數的形式應是:int?main(int?argc,char*?argv[]);?

?這個函數從main函數獲取其兩個參數。?

??

?void?glutInitWindowSize(int?width,int?height);?

?void?glutInitWindowPosition(int?x,int?y);?

?這兩個函數很好理解是設置glut程序要產生的窗口的大小和位置(左上角)。以像素為單位。?

?void?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)?

?void??glutMainLoop(void)?

?讓glut程序進入事件循環。在一個glut程序中最多只能調用一次。一旦調用,會直到程序結束才返回。??

--------------------------------------------------------------------------------?

三。窗口管理(Window?Management)?

?int?glutCreateWindow(char*?name);?

?產生一個頂層的窗口。name?作為窗口的名字,也就是窗口標題欄顯示的內容。?

?返回值是生成窗口的標記符,可用函數glutGetWindow()加以引用。?

?int?glutCreateSubWindow(int?win,int?x,int?y,int?width,int?height);?

?創建一個子窗口。win是其父窗口的標記符。x,y是相對父窗口的位移,以像素表示。?

?width,height是子窗口的寬和高。?

?void?glutSetWindow(int?win);?

?int?glutGetWindow(void);?

?功能分別是:設置標記符為win的窗口為當前窗口;返回當前窗口的標記符。?

?void?glutDestroyWindow(int?win);?

?銷毀以win標記的窗口。?

?void?glutPostRedisplay(void);?

?將當前窗口打上標記,標記其需要再次顯示。?

?void?glutSwapBuffers(void);?

?當窗口模式為雙緩存時,此函數的功能就是把后臺緩存的內容交換到前臺顯示。當然,只有單緩存時,使用它的功能跟用glFlush()一樣。?

?而使用雙緩存是為了把完整圖畫一次性顯示在窗口上,或者是為了實現動畫。?

?void?glutPositionWindow(int?x,int?y);?

?改變當前窗口的位置:當前窗口是頂層窗口時,x,y是相對于屏幕的的位移;當前窗口若是子窗口時,x,y是相對其父窗口原點的位移。?

?void?glutReshapeWindow(int?width,int?height);?

?改變當前窗口的大小。?

?width,height是當前窗口新的寬度和高度值,當然只能是正值。?

?void?glutFullscreen(void);?

?讓當前窗口全屏顯示。當前窗口是頂層窗口時才有效。?

?void?glutPopWindow(void);?

?void?glutPushWindow(void);?

?對頂層窗口和子窗口均有效。改變當前窗口在棧中相對于其它窗口的次序。?

?void?glutShowWindow(void);?

?void?glutHideWindow(void);?

?void?glutIconifyWindow(void);?

?這三個函數作用是改變當前窗口的顯示狀態。?

?glutShowWindow讓當前窗口可視(這時它還是可能被其它窗口擋住)。?

?glutHideWindow讓當前窗口成為不可視狀態。?

?glutIconifyWindow讓當前窗口成為一個圖標,也即是最小化。?

?glutSetWindowTitle(char*?name);?

?glutSetIconTitle(char*?name);?

?設置當前窗口(必須是頂層窗口)的標題和圖標化時的標題。?

?glutSetCursor(int?cursor);?

?設置當前窗口的光標樣式。?

?cursor可選值有許多:如GLUT_CURSOR_RIGHT_ARROW指向右邊的光標,GLUT_CURSOR_LEFT_ARROW指向左邊的光標,GLUT_CURSOR_INFO成為手狀。?

GLUT_CURSOR_DESTROY呈叉狀,GLUT_CURSOR_HELP呈現問號的形狀。?

等等。??

--------------------------------------------------------------------------------?

四。窗口的覆蓋管理?

void?glutEstablishOverlay(void);?

對當前窗口創建覆蓋圖層。該覆蓋圖的模式由初始化顯示模式函數glutDisplayMode()決定。glutLayerGet(GLUT_OVERLAY_POSSIBLE)可用以設置對于當前窗口,是否允許產生由初始化顯示模式函數規定其模式的覆蓋圖層。?

void?glutUserLayer(GLenum?layer);?

枚舉量layer可選值為:GLUT_NORMAL,GLUT_OVERLAY.分別選取正常位平面或覆蓋平面。?

void?glutRemoveLayer(void);?

除去覆蓋圖。當沒有覆蓋圖層時,調用這條語句也是安全的,這時系統不做任何事。?

void?glutPostOverlayRedisplay(void);?

標記該覆蓋圖層為需要重新顯示的狀態。?

void?glutShowOverlay(void);?

void?glutHideOverlay(void);?

顯示當前窗口的覆蓋圖層;隱藏覆蓋圖層。這兩條語句即時執行。注意一下,只有窗口可視時,使用glutShowOverlay才能使其覆蓋圖層可視。當窗口被其他窗口遮擋時,其覆蓋圖層也被遮擋從而不可視。?

?

二。事件處理(Event?Processing)?

?void??glutMainLoop(void)?

?讓glut程序進入事件循環。在一個glut程序中最多只能調用一次。一旦調用,會直到程序結束才返回。?

三。窗口管理(Window?Management)?

?int?glutCreateWindow(char*?name);?

?產生一個頂層的窗口。name?作為窗口的名字,也就是窗口標題欄顯示的內容。?

?返回值是生成窗口的標記符,可用函數glutGetWindow()加以引用。?

?int?glutCreateSubWindow(int?win,int?x,int?y,int?width,int?height);?

?創建一個子窗口。win是其父窗口的標記符。x,y是相對父窗口的位移,以像素表示。?

?width,height是子窗口的寬和高。?

?void?glutSetWindow(int?win);?

?int?glutGetWindow(void);?

?功能分別是:設置標記符為win的窗口為當前窗口;返回當前窗口的標記符。?

?void?glutDestroyWindow(int?win);?

?銷毀以win標記的窗口。?

?void?glutPostRedisplay(void);?

?將當前窗口打上標記,標記其需要再次顯示。?

?void?glutSwapBuffers(void);?

?當窗口模式為雙緩存時,此函數的功能就是把后臺緩存的內容交換到前臺顯示。當然,只有單緩存時,使用它的功能跟用glFlush()一樣。?

?而使用雙緩存是為了把完整圖畫一次性顯示在窗口上,或者是為了實現動畫。?

?void?glutPositionWindow(int?x,int?y);?

?改變當前窗口的位置:當前窗口是頂層窗口時,x,y是相對于屏幕的的位移;當前窗口若是子窗口時,x,y是相對其父窗口原點的位移。?

?void?glutReshapeWindow(int?width,int?height);?

?改變當前窗口的大小。?

?width,height是當前窗口新的寬度和高度值,當然只能是正值。?

?void?glutFullscreen(void);?

?讓當前窗口全屏顯示。當前窗口是頂層窗口時才有效。?

?void?glutPopWindow(void);?

?void?glutPushWindow(void);?

?對頂層窗口和子窗口均有效。改變當前窗口在棧中相對于其它窗口的次序。?

?void?glutShowWindow(void);?

?void?glutHideWindow(void);?

?void?glutIconifyWindow(void);?

?這三個函數作用是改變當前窗口的顯示狀態。?

?glutShowWindow讓當前窗口可視(這時它還是可能被其它窗口擋住)。?

?glutHideWindow讓當前窗口成為不可視狀態。?

?glutIconifyWindow讓當前窗口成為一個圖標,也即是最小化。?

?glutSetWindowTitle(char*?name);?

?glutSetIconTitle(char*?name);?

?設置當前窗口(必須是頂層窗口)的標題和圖標化時的標題。?

?glutSetCursor(int?cursor);?

?設置當前窗口的光標樣式。?

?cursor可選值有許多:如GLUT_CURSOR_RIGHT_ARROW指向右邊的光標,GLUT_CURSOR_LEFT_ARROW指向左邊的光標,GLUT_CURSOR_INFO成為手狀。?

GLUT_CURSOR_DESTROY呈叉狀,GLUT_CURSOR_HELP呈現問號的形狀。?

等等。?

四。窗口的覆蓋管理?

void?glutEstablishOverlay(void);?

對當前窗口創建覆蓋圖層。該覆蓋圖的模式由初始化顯示模式函數glutDisplayMode()決定。glutLayerGet(GLUT_OVERLAY_POSSIBLE)可用以設置對于當前窗口,是否允許產生由初始化顯示模式函數規定其模式的覆蓋圖層。?

void?glutUserLayer(GLenum?layer);?

枚舉量layer可選值為:GLUT_NORMAL,GLUT_OVERLAY.分別選取正常位平面或覆蓋平面。?

void?glutRemoveLayer(void);?

除去覆蓋圖。當沒有覆蓋圖層時,調用這條語句也是安全的,這時系統不做任何事。?

void?glutPostOverlayRedisplay(void);?

標記該覆蓋圖層為需要重新顯示的狀態。?

void?glutShowOverlay(void);?

void?glutHideOverlay(void);?

顯示當前窗口的覆蓋圖層;隱藏覆蓋圖層。這兩條語句即時執行。注意一下,只有窗口可視時,使用glutShowOverlay才能使其覆蓋圖層可視。當窗口被其他窗口遮擋時,其覆蓋圖層

glut庫下的主要函數:


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本不卡在线一区二区三区视频 | 成人影院vs一区二区 | 日韩黄色精品 | 亚洲黄色视屏 | 中文字幕日韩一区 | 亚洲码在线中文在线观看 | 私人免费影院入口 | 欧美日日射 | 波多野结衣亚洲一区二区三区 | 国产精品亚欧美一区二区三区 | 黄频网站在线观看视频 | 精品亚洲成a人在线观看 | chinese性中国女人 | 欧美精品福利视频 | 在线观看年轻的母亲 | 精品小视频在线观看 | 国产精品一区牛牛影视 | 国语精品91自产拍在线观看二区 | 亚洲成人黄色在线 | 这里只有精品久久 | 欧美一区二区在线观看免费网站 | 中文字幕一区二区精品区 | 日韩成人免费在线视频 | 国产精品亚洲专一区二区三区 | 久久综合九色综合欧洲色 | 羞羞网站在线看 | 九九re6精品视频在线观看 | 爱爱小视频在线观看网站 | 久草热久草视频 | 亚洲成人观看 | 亚洲国产精品区 | 日韩欧美视频一区二区三区 | 亚洲人成绝费网站色ww | a级高清观看视频在线看 | 五月婷六月婷婷 | 国产精品一区在线观看你懂的 | 国产99对白在线播放 | 欧美做爰孕妇群 | 激情五月色婷婷在线观看 | 久久99热精品这里久久精品 | 精品国产品香蕉在线 |