2009-10-06 10 views

답변

2

정말로 당신이 확대라고 부르는 것에 달려 있습니다.

전형적인 카메라 설정 (예 : 원근법에서 얻음)에서는 실제 카메라처럼 시야를 줄임으로써 줌이 이루어집니다. 시야에서 표준 투시 행렬까지의 실제 수학은 gluPerspective의 설명서를 참조하십시오.

glOrtho는 원근 카메라를 생성하지 않으므로 표준 확대/축소를 실제로 모방하지 않습니다. 그림의 2D 줌과 비슷합니다 (현재 glOrtho를 사용하고 있습니까? 장면을 3D로 보지 못했습니까?)

1

glOr를 사용하여 병렬 투영을 설정 한 경우 매개 변수를 glOrth로 변경하거나 glScale을 사용하여 확대/축소 할 수 있습니다.

왼쪽/오른쪽/위쪽/아래쪽 평면을 다시 계산하지 않고 20 % 확대/축소를 1.2로 설정하는 것이 더 쉽기 때문에 glScale을 사용하는 경향이 있습니다.

나는 그것이 "모범 사례"라고 주장하지는 않습니다.

0

일반적으로 투영 행렬을 설정하는 데 glOrth가 사용됩니다. glScale은 일반적으로 다양한 다른 변환과 함께 모델 - 뷰 행렬을 설정할 때 사용됩니다.

대부분의 개발자는 처음 시작할 때 또는 창의 크기가 조정될 때만 프로젝션 매트릭스를 설정합니다. "확대/축소"는 매 프레임마다 행렬을 변경한다는 것을 의미하므로 모델보기에 속해야하는 것처럼 보입니다.

요약 : 모델 뷰를 확대하고 glScale을 사용하십시오.