에서 이 스레드. 두 번째 대답은 다음과 같습니다.
해결 방법 2는
gluUnproject
두 시간을 호출합니다 . 하나는으로clipZ = -1
, 다른 하나는으로 호출하면 두clipZ = 1
점을 얻습니다 (세계 공간에서). 이 두 점을 사용하여 광선을 얻을 수 있으며 일부 레이 캐스트 알고리즘을 사용하여 마우스 좌표를 계산할 수 있습니다.
그러나 안타깝게도 제안 후에는 설명되지 않았습니다. 두 번 호출하여 얻을 수있는 방향을 설명하는 이 스레드 도 있습니다 gluUnproject
. 방향을 찾는 것은 나에게 의미가 있지만 내 질문은 gluUnProject
두 번 전화하여 깊이 정보를 어떻게 얻을 수 있습니까?
깊이 정보를 얻지 못합니다. 당신은 X와 Y 만 가지고 있지만, 프로젝트를 해제하려면 Z가 필요합니다. 어떤 마법도 그것을 줄 수는 없습니다. 대신 그것을 추론하십시오.
뷰포트 변환을 실행 취소하면 NDC에 X, Y가 있습니다. 무슨 Z? 사용 z1= 1
및 X, Y. Unproject. 이제 세계 좌표에 점 P1이 있습니다. Unproject를 반복하지만 이번에는 z2= -1
. P2를 얻습니다. 네 번째 'w'좌표를 처리해야 할 것 같습니다. w로 나눈 후 3D 좌표를 추출 할 수 있습니다. 동종 좌표에서 w는 축척 계수입니다.
P1과 P2를 사용하면 P1P2 선과 모델 사이의 교차점을 직접 찾을 수 있습니다.
z= -1, 1
NDC에서 가장 분리 된 좌표이므로 계산 결과가 더 정확합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다