2011-12-28 2 views
1

가변 줌 lvls에서 사각형 가장자리를 감지하고 싶습니다.다른 확대/축소 수준에서 가장자리 감지

내 사각형은 modelview에서 고정 위치에 있으며 gluUookAt를 사용하여 확대 또는 축소합니다. 최대 (확대/축소) 화면에서 카메라를 왼쪽/오른쪽/위/아래로 움직일 필요가 없지만 확대 (모든 확대/축소) 수준 인 경우 사각형 가장자리가 발견 될 때까지 카메라를 움직입니다.

매트릭스를 설정하는 glFrustrum에서 내 줌을 만들기 위해 gluLookAt를 사용합니다.

원본과 카메라의 거리에 따라 카메라의 이동 영역을 계산하려면 어떻게해야합니까?

답변

0

모델 뷰, 투영 및 뷰포트 행렬을 사용하여 월드 공간에서 스크린 공간으로 사각 좌표를 투영합니다. 그런 다음 화면 공간 밖에있는 각 지점을 확인하십시오. 통과하면 카메라 이동을 허용 할 수 있습니다. 다음은 프로젝션을위한 샘플 코드입니다. http://www.flipcode.com/archives/Object_To_Screen_Space.shtml

관련 문제