int glutGet(GLenum state);
檢索指定的GLUT狀態(tài)
參數(shù):
state:指定要檢索的狀態(tài)類型,為以下常量:
GLUT_WINDOW_X:當(dāng)前窗口的x坐標(biāo),以像素為單位.
GLUT_WINDOW_Y:當(dāng)前窗口的y坐標(biāo),以像素為單位.
GLUT_WINDOW_WIDTH:當(dāng)其窗口的寬度,以像素為單位.
GLUT_WINDOW_HEIGHT:當(dāng)前窗口的高度,以像素為單位.
GLUT_WINDOW_BUFFER_SIZE:當(dāng)前窗口中,顏色分量占用的位數(shù),即用多少bit表示顏色分量.
GLUT_WINDOW_STENCIL_SIZE:當(dāng)前窗口中,蒙板分量占用的位數(shù),即用多少bit表示蒙板分量.
GLUT_WINDOW_DEPTH_SIZE:當(dāng)前窗口中,深度分量占用的位數(shù),即用多少bit表示深度分量.
GLUT_WINDOW_RED_SIZE:當(dāng)前窗口中,紅色分量占用的位數(shù),即用多少bit表示紅色分量.
GLUT_WINDOW_GREEN_SIZE:當(dāng)前窗口中,綠色分量占用的位數(shù),即用多少bit表示綠色分量.
GLUT_WINDOW_BLUE_SIZE:當(dāng)前窗口中,藍(lán)色分量占用的位數(shù),即用多少bit表示藍(lán)色分量.
GLUT_WINDOW_ALPHA_SIZE:當(dāng)前窗口中,alpha色分量占用的位數(shù),即用多少bit表示alpha色分量.
GLUT_WINDOW_ACCUM_RED_SIZE:當(dāng)前窗口累積緩存中,紅色分量占用的位數(shù),即用多少bit表示紅色分量.
GLUT_WINDOW_ACCUM_GREEN_SIZE:當(dāng)前窗口累積緩存中,綠色分量占用的位數(shù),即用多少bit表示綠色分量.
GLUT_WINDOW_ACCUM_BLUE_SIZE:當(dāng)前窗口累積緩存中,藍(lán)色分量占用的位數(shù),即用多少bit表示藍(lán)色分量.
GLUT_WINDOW_ACCUM_ALPHA_SIZE:當(dāng)前窗口累積緩存中,alpha色分量占用的位數(shù),即用多少bit表示alpha色分量.
GLUT_WINDOW_DOUBLEBUFFER:如果窗口式雙緩存模式,返回1,否則返回0.
GLUT_WINDOW_RGBA:如果窗口是RGBA模式,返回1,否則返回0.
GLUT_WINDOW_PARENT:查詢當(dāng)前窗口的父窗口個數(shù),如果為頂層窗口返回0.
GLUT_WINDOW_NUM_CHILDREN:查詢當(dāng)前窗口的子窗口個數(shù).
GLUT_WINDOW_NUM_SAMPLES:查詢多重采樣的采樣點(diǎn)個數(shù).
GLUT_WINDOW_STEREO:查詢是否使用立體模式,是則返回1,否則返回0.
GLUT_WINDOW_CURSOR:返回光標(biāo)的整數(shù)標(biāo)示.
GLUT_SCREEN_HEIGHT:屏幕的高度,以像素為單位.
GLUT_SCREEN_WIDTH:屏幕的寬度,以像素為單位.
GLUT_SCREEN_WIDTH_MM:屏幕的寬度,以毫米為單位.
GLUT_SCREEN_HEIGHT_MM:屏幕的高度,以毫米為單位.
GLUT_MENU_NUM_ITEMS:查詢當(dāng)前菜單包含的菜單項(xiàng)的個數(shù).
GLUT_DISPLAY_MODE_POSSIBLE:查詢窗口系統(tǒng)是否支持當(dāng)前的顯示模式,1表示支持,0表示不支持.
GLUT_INIT_DISPLAY_MODE:初始窗口的顯示模式.
GLUT_INIT_WINDOW_X:初始窗口的x坐標(biāo).
GLUT_INIT_WINDOW_Y:初始窗口的y坐標(biāo).
GLUT_INIT_WINDOW_WIDTH:初始窗口的寬度.
GLUT_INIT_WINDOW_HEIGHT:初始窗口的高度.
GLUT_ELAPSED_TIME:返回兩次調(diào)用glutGet(GLUT_ELAPSED_TIME)的時間間隔,單位為毫秒,返回值根據(jù)查詢的內(nèi)容返回相應(yīng)的值,無效的狀態(tài)名返回-1.
GLUT_WINDOW_COLORMAP_SIZE:返回顏色索引表的大小.
//*******************************************************************************************
int glutDeviceGet(GLenum type);
檢索設(shè)備信息
參數(shù):
type:要檢索的設(shè)備信息的名字,為以下常量:
GLUT_HAS_KEYBOARD 如果鍵盤可用,返回非0值,否則,返回0.
GLUT_HAS_MOUSE 如果鼠標(biāo)可用,返回非0值,否則,返回0.
GLUT_NUM_MOUSE_BUTTONS 返回鼠標(biāo)支持的按鍵數(shù),如果鼠標(biāo)不可用,返回0,返回值0,表示檢索的設(shè)備不存在,非0表示設(shè)備可用.
GLUT_HAS_SPACEBALL:如果spaceball可用,返回非0值,否則,返回0.
GLUT_HAS_DIAL_AND_BUTTON_BOX:如果撥號按鍵盒可用,返回非0值,否則,返回0.
GLUT_HAS_TABLET:如果圖形板可用,返回非0值,否則,返回0.
GLUT_NUM_SPACEBALL_BUTTONS:返回spaceball支持的按鍵數(shù),如果spaceball不存在,返回0.
GLUT_NUM_BUTTON_BOX_BUTTONS:返回?fù)芴柊存I盒支持的按鍵數(shù),如果撥號按鍵盒不存在,返回0.
GLUT_NUM_DIALS:返回?fù)芴柊存I盒支持的撥號數(shù),如果撥號按鍵盒不存在,返回0.
GLUT_NUM_TABLET_BUTTONS:返回圖形板支持的按鍵數(shù),如果圖形板不存在,返回0.
GLUT_DEVICE_IGNORE_KEY_REPEAT:如果當(dāng)前窗口被設(shè)置成關(guān)閉自動重復(fù)按鍵,則返回非0值.
GLUT_DEVICE_KEY_REPEAT:返回自動重復(fù)按鍵的設(shè)置狀態(tài).(說明文件上說是返回連續(xù)擊鍵的速率,其實(shí)此說法有誤.)
GLUT_HAS_JOYSTICK:如果操縱桿可用,返回非0值,否則,返回0.
GLUT_OWNS_JOYSTICK:如果glut認(rèn)為已經(jīng)成功獲得操縱桿的使用權(quán),則返回非0值.否則,返回0.
GLUT_JOYSTICK_BUTTONS:返回操縱桿支持的按鍵數(shù),如果操縱桿不存在,返回0.
GLUT_JOYSTICK_AXES:返回操縱桿支持的操縱軸數(shù),如果操縱桿不存在,返回0.
GLUT_JOYSTICK_POLL_RATE:返回當(dāng)前窗口操縱桿被拉動的速率.
(注:對操縱桿的查詢限制在操縱桿的數(shù)量為1;鼠標(biāo)被默認(rèn)為存在,并且其按鍵數(shù)默認(rèn)是3.)
//******************************************************************************************
int glutExtensionSupported(const char *name);
判定是否支持特定的OpenGL擴(kuò)展
參數(shù):
extension:指定要測試的OpenGL擴(kuò)展的名稱,如果給定擴(kuò)展獲得支持,函數(shù)返回非0,否則返回0.
必須要有一個有效的當(dāng)前窗口來調(diào)用glutExtensionSupported().它只返回OpenGL擴(kuò)展信息,這意味著窗口系統(tǒng)依賴的擴(kuò)展不被glutExtensionSupported()反映.
例子:
if(!glutExtensionSupported("GL_EXT_texture"))
{
fprintf(stderr, "Missing the texture extension!");
exit(1);
}
//******************************************************************************************
int glutGetModifiers(void);
返回組合功能鍵的狀態(tài)
返回值為以下定義的常量
GLUT_ACTIVE_SHIFT:當(dāng)按下shift鍵時
GLUT_ACTIVE_CTRL:當(dāng)按下ctrl鍵時
GLUT_ACTIVE_ALT:當(dāng)按下alt鍵時
//******************************************************************************************
int glutLayerGet(GLenum type);
查詢屬于當(dāng)前窗口的重疊層的狀態(tài)
參數(shù):
type:查詢的重疊層狀態(tài)常量:
GLUT_OVERLAY_POSSIBLE:在給定的初始顯示模式下,能否為當(dāng)前窗口創(chuàng)建重疊層.如果能,返回1;如果不能,返回0.
GLUT_LAYER_IN_USE:返回當(dāng)前的使用層,為GLUT_NORMAL(使用正常的顏色層)或GLUT_OVERLAY(使用重疊層).
GLUT_HAS_OVERLAY:判斷當(dāng)前窗口是否創(chuàng)建了重疊層.
GLUT_NORMAL_DAMAGED:如果當(dāng)前窗口的圖像層在上一次顯示回調(diào)函數(shù)調(diào)用后已經(jīng)破壞,則返回TRUE.
GLUT_OVERLAY_DAMAGED:如果當(dāng)前窗口的重疊層在上一次顯示回調(diào)函數(shù)調(diào)用后已經(jīng)破壞,則返回TRUE.
GLUT_TRANSPARENT_INDEX:返回當(dāng)前窗口覆蓋層的透明顏色索引值,如果沒有覆蓋層則返回-1.