gluUnProject 函式講解

2021-10-10 20:01:57 字數 2608 閱讀 8995

相關函式介紹

1、glreadpixels:從幀快取 裡讀取乙個畫素塊

void glreadpixels(glint x,glint y,glsizei width,glsizei height,glenum format,glenum type, glvoid * data);

引數x,y:指定從幀緩衝區讀取的第乙個畫素的視窗座標,此位置是矩形畫素塊的左下角

引數width,height:指定畫素矩形的尺寸;

引數format:指定畫素的格式。

gl_index 單個顏色索引

gl_rgb 先是紅色分量,再是綠色分量,然後是藍色分量

gl_red 單個紅色分量

gl_green 單個綠色分量

gl_blue 單個藍色分量

gl_alpha 單個alpha值

gl_luminance_alpha 先是亮度分量,然後是alpha值

gl_stencil_index 單個的模板索引

gl_depth_component 單個深度分量

引數type:指定畫素資料的資料型別

gl_unsigned_byte 無符號的8位整數

gl_byte 8位整數

gl_bitmap 無符號的8位整數陣列中的單個數字

gl_unsigned_short 無符號的16位整數

gl_short 16位整數

gl_unsigned_int 無符號的32位整數

gl_int 32位整數

gl_float 單精度浮點數

引數data:返回的畫素資料,是乙個指標 ,指向儲存影象資料的陣列

2、glgetdoublevglgetintegerv函式

獲得投影矩陣模型檢視矩陣

double projection[16]

;glgetdoublev

( gl_projection_matrix, projection )

;double modelview[16]

;glgetdoublev

( gl_modelview_matrix, modelview )

;

獲得當前視口

int viewport[4]

;glgetintegerv

( gl_viewport, viewport )

;

3、gluunproject():獲得螢幕座標對應世界座標

gluunproject (

gldouble winx, //螢幕畫素座標,以左下角為起點

gldouble winy,

gldouble winz,

const gldouble modelmatrix[16], //模型矩陣

const gldouble projmatrix[16], //投影矩陣

const glint viewport[4], //視口

gldouble *objx, //世界座標

gldouble *objy,

gldouble *objz);

應用舉例
double modelview[16]

, projection[16]

;//模型投影矩陣

int viewport[4]

;//視口

float screenz =1;

//深度值

double objx,objy,objz;

//獲得的世界座標值

glgetdoublev

( gl_projection_matrix, projection )

;//獲得投影矩陣

glgetdoublev

( gl_modelview_matrix, modelview )

;//獲得模型矩陣

glgetintegerv

( gl_viewport, viewport )

;//獲得視口

glreadpixels

( x, viewport[3]

-y,1,1

, gl_depth_component, gl_float,

&screenz )

;//獲得螢幕畫素對應的世界座標深度值

gluunproject

( x, viewport[3]

-y, screenz , modelview, projection, viewport,

&objx,

&objy,

&objz )

;//獲得螢幕座標對應的世界座標

c string函式精講

還有必要再重複一下c 字串和c字串轉換的問題,許多人會遇到這樣的問題,自己做的程式要呼叫別人的函式 類什麼的 比如資料庫連線函式connect char char 但別人的函式引數用的是char 形式的,而我們知道,c str data 返回的字元陣列由該字串擁有,所以是一種const char 要...

精講母函式

在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個...

精講母函式

在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個...