gluPickMatrix 함수

gluPickMatrix 함수는 선택 영역을 정의합니다.

구문

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

매개 변수

x

선택 영역의 x 창 좌표입니다.

y

선택 영역의 y 창 좌표입니다.

height(높이)

창 좌표에서 선택 영역의 높이입니다.

width

창 좌표에서 선택 영역의 너비입니다.

뷰포트

현재 뷰포트입니다( glGetIntegerv 호출에서와 같이).

반환 값

이 함수는 값을 반환하지 않습니다.

설명

gluPickMatrix 함수는 그리기를 뷰포트의 작은 영역으로 제한하는 데 사용할 수 있는 프로젝션 행렬을 만듭니다.

  1. gluPickMatrix를 사용하여 커서 주변의 작은 영역으로 그리기를 제한합니다.

  2. 선택 모드( glRenderMode 사용)를 입력한 다음 장면을 다시 렌더링합니다.

    커서 근처에 그려진 모든 기본 형식이 식별되어 선택 버퍼에 저장됩니다.

gluPickMatrix에서 만든 행렬은 생성된 행렬을 사용하여 glMultMatrix가 호출된 것처럼 현재 행렬을 곱합니다.

  1. glLoadIdentity를 호출하여 ID 행렬을 원근 행렬 스택에 로드합니다.
  2. gluPickMatrix를 호출합니다.
  3. 함수(예: gluPerspective)를 호출하여 원근 행렬을 선택 행렬에 곱합니다.

gluPickMatrix를 사용하여 NURBS(Non-Uniform Rational B-Spline)를 선택하는 경우 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