glFrustum
을 사용하여보기 볼륨을 제한하여 화면에서 이미지를 자르려고했습니다. Glfrustum
에 대한 공식 설명서에서, left, right, top, bottom, near, far
은 클리핑 좌표입니다. 나는 그들이 화면 좌표라고 생각하고 다음을 시도했다 :OpenGL의 표준화 좌표
glFrustum(100, 924, 100, 668, 3, 1000);
위의 내용은 화면에 아무 것도 표시하지 못했다. 그래서, 난 그냥 어딘가에 고개를 다음과 같이 몇 가지 코드를 보았다 (그런데 왜 그 좌표는 음?) :
glFrustum(-1, 1, -1, 1, 0.5, 1000);
은 내가 excat 같은 일을 사용하고 화면의 이미지의 일부를 받기 시작했다. 그 후, 나는 좌표를 바꿔서
near
을 추적하고 볼륨이 어떻게 변하는 지 알아 챘다.
glFrustum(-10,10,-10,10,10,1000);
glFrustum(-100,100,-100,100,100,1000);
glFrustum(-0.5,0.5,-0.5,0.5,0.5,1000);
위의 모든 내용은 화면에서 나에게 동일한 이미지 출력을 제공합니다. 하지만 glFrustum이 사용되는 곳을 보았던 대부분의 곳에서 [-1,1]
(예 : here)과 정규화 된 범위의 계산에 대해 설명하는 값이 사용 된 것으로 나타났습니다. 정규화 된 값의 측면에서 left, right, bottom, top, near, far
의 계산이 중요합니까 (정규화 된 값에 가깝거나 멀리 포함되어 있습니까?). 화면 좌표의 값을 사용하여 동일한 작업을 수행 할 수 있습니까?