gluUnproject를 두 번 호출하여 장면 좌표에서 깊이 값을 얻는 방법 (gluUnProject를 사용하지 않음)

카디르 에르 뎀 데 미르

에서 스레드. 두 번째 대답은 다음과 같습니다.

해결 방법 2는 gluUnproject두 시간을 호출합니다 . 하나는으로 clipZ = -1, 다른 하나는으로 호출하면 clipZ = 1점을 얻습니다 (세계 공간에서). 이 두 점을 사용하여 광선을 얻을 수 있으며 일부 레이 캐스트 알고리즘을 사용하여 마우스 좌표를 계산할 수 있습니다.

그러나 안타깝게도 제안 후에는 설명되지 않았습니다. 두 번 호출하여 얻을 수있는 방향을 설명하는 스레드있습니다 gluUnproject. 방향을 찾는 것은 나에게 의미가 있지만 내 질문은 gluUnProject두 번 전화하여 깊이 정보를 어떻게 얻을 수 있습니까?

Ripi2

깊이 정보를 얻지 못합니다. 당신은 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관