gluPickMatrix 函式

gluPickMatrix函式會定義挑選區域。

語法

void WINAPI gluPickMatrix(
   GLdouble x,
   GLdouble y,
   GLdouble height,
   GLdouble width,
   GLint    viewport[4]
);

參數

x

挑選區域的 x 視窗座標。

y

挑選區域的 Y 視窗座標。

height (高度)

視窗座標中挑選區域的高度。

寬度

視窗座標中挑選區域的寬度。

視窗

目前的檢視區 (,如同 來自 glGetIntegerv 呼叫) 。

傳回值

此函式不會傳回值。

備註

gluPickMatrix函式會建立投影矩陣,讓您用來將繪圖限制在檢視區的小型區域。

  1. 使用 gluPickMatrix 將繪圖限制在游標周圍的小型區域。

  2. 輸入選取模式 (glRenderMode) ,然後重新呈現場景。

    在資料指標附近繪製的所有基本類型都會被識別並儲存在選取緩衝區中。

gluPickMatrix所建立的矩陣會乘以目前的矩陣,就像使用產生的矩陣呼叫glMultMatrix一樣。

  1. 呼叫 glLoadIdentity ,將識別矩陣載入檢視方塊矩陣堆疊。
  2. 呼叫 gluPickMatrix
  3. 呼叫函式 (,例如 gluPerspective) ,將檢視方塊矩陣乘以挑選矩陣。

使用 gluPickMatrix 挑選非統一合理 B-Spline (NURBS) 時,請小心關閉 NURBS 屬性,GLU_AUTO_LOAD_MATRIX。 如果未關閉GLU_AUTO_LOAD_MATRIX,則轉譯的任何 NURBS 表面會與挑選矩陣的細分方式不同,與沒有挑選矩陣的挑選矩陣不同。

範例

轉譯場景時,如下所示:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

下列程式碼會選取檢視區的一部分:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPickMatrix(x, y, width, height, viewport);  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]
標頭
Glu.h
程式庫
Glu32.lib
DLL
Glu32.dll

另請參閱

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective