glFrustum 함수
glFrustum 함수는 현재 행렬을 원근 행렬로 곱합니다.
구문
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
매개 변수
-
left
-
왼쪽 세로 클리핑 평면의 좌표입니다.
-
right
-
오른쪽 세로 클리핑 평면의 좌표입니다.
-
bottom
-
아래쪽 가로 클리핑 평면의 좌표입니다.
-
top
-
아래쪽 가로 클리핑 평면의 좌표입니다.
-
zNear
-
거의 깊이의 클리핑 평면까지의 거리입니다. 양수여야 합니다.
-
zFar
-
원거리 클리핑 평면까지의 거리입니다. 양수여야 합니다.
반환 값
이 함수는 값을 반환하지 않습니다.
오류 코드
glGetError 함수에서 다음 오류 코드를 검색할 수 있습니다.
Name | 의미 |
---|---|
|
zNear 또는 zFar 가 게시되지 않았습니다. |
|
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다. |
설명
glFrustum 함수는 원근 투영을 생성하는 원근 행렬을 설명합니다. (왼쪽, 아래쪽, zNear) 및 (오른쪽, 위쪽, zNear) 매개 변수는 눈이 (0,0,0)에 있다고 가정하여 각각 창의 왼쪽 아래 및 오른쪽 위 모서리에 매핑되는 가까운 클리핑 평면의 점을 지정합니다. zFar 매개 변수는 원거리 클리핑 평면의 위치를 지정합니다. zNear와 zFar는 모두 양수여야 합니다. 해당 행렬은 다음 이미지에 표시됩니다.
glFrustum 함수는 현재 행렬을 이 행렬과 곱하고 결과는 현재 행렬을 대체합니다. 즉, M이 현재 행렬이고 F가 frustum 큐브 뷰 행렬인 경우 glFrustum 은 M을 M F로 바꿉니다.
glPushMatrix 및 glPopMatrix를 사용하여 현재 행렬 스택을 저장하고 복원합니다.
깊이 버퍼 정밀도는 zNear 및 zFar 에 지정된 값의 영향을 받 습니다. zFar와 zNear의 비율이 클수록 깊이 버퍼가 서로 가까이 있는 표면을 구분하는 데 덜 효과적입니다. 조건
대략 로그2(r) 깊이 버퍼 정밀도 비트가 손실됩니다. zNear가 0에 가까워지면 r이 무한대에 접근하므로 zNear를 0으로 설정해서는 안 됩니다.
다음 함수는 glFrustum에 대한 정보를 검색합니다.
인수가 GL_MATRIX_MODE glGet
인수가 GL_MODELVIEW_MATRIX glGet
인수가 GL_PROJECTION_MATRIX glGet
인수가 GL_TEXTURE_MATRIX glGet
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |
헤더 |
|
라이브러리 |
|
DLL |
|