gluPerspective 및 gluLookAt와 함께 투시도를 사용하고 있으며 오브젝트의 x, y 좌표를 가지고 있습니다. 객체가 가시 영역 밖에 있는지 어떻게 알 수 있습니까? 카메라가 항상 움직이는 것을 유의하십시오.오브젝트 외부 카메라 OpenGL
3
A
답변
5
우선 첫번째 : OpenGL에는 카메라가 없습니다. 꼭지점을 변형시킵니다. 그리고 gluLookAt는 생각한 카메라의 움직임과 반대 인 객체에 변형을 적용합니다.
용액
이미 로버트 Massaioli 의해 제 댓글에서 받았던 :는 OpenGL에서 투시 변환은 절두체의 관점에서 설명된다 ( gluPerpective는는 glFrustum 절두체 파라미터를 계산하고, 이러한 전달). 따라서 개체의 절두체 컬링을 결정 (즉, 컬링 된 경우)하면 볼 수 있는지를 결정할 수 있습니다.
0
고정 된 거리를보고 있기 때문에 그들이 카메라를 떠날 것이라고 말하는가? .. 아니면 그냥 사라지는거야?
첫 번째 경우 (촬영 측면에서) x, y 평면에서 얼마나 멀리 떨어져 있는지 계산할 수 있어야합니다. 현재 투시도 설정에 따라 카메라를 이동해야합니다.
후자의 경우, 추려내는 것을 막기 위해 최대 Z 깊이를 늘려야합니다.
[편집 1]gluPerspective에서는 화각과 종횡비를 설정합니다. 비행기까지의 거리와 중심점에서부터 자동차까지의 거리를 알아야하므로 필요한 모든 정보를 얻을 수 있습니다. 남은 것은 볼 수있는 것과 그렇지 않은 것을 해결하기위한 약간의 삼각법입니다.
[편집 2]another very useful tutorial 나는 절두체 도려 내기를 수행하는 다양한 방법을 설명합니다.
+0
첫 번째 사례입니다. 카메라는 고정 된 거리이지만 자동차와 함께 회전합니다. 이것이 내 주요 문제입니다. –
관련 문제
- 1. OpenGL - 마우스로 카메라 움직이기
- 2. OpenGL : 내 카메라 만들기
- 3. OpenGL : 카메라 변형에 대한 도움말
- 4. Dojo DnD 외부 오브젝트 승인
- 5. OpenGL ES 2.0에서 더 작은 오브젝트 렌더링
- 6. 처리 및 OpenGL - 카메라 위치 변경 중?
- 7. 레이싱 게임용 OpenGL 카메라 설정 방법
- 8. OpenGL, 카메라, 석영으로 3G에서 아이폰 앱 최적화하기
- 9. OpenGL JOGL 키보드로 이동할 수있는 카메라
- 10. 위젯과 OpenGl
- 11. 오브젝트 내부의 오브젝트
- 12. iOS의 OpenGL ES 및 외부 디스플레이
- 13. openGL 클래스 내에서 외부 메서드 호출
- 14. 오브젝트
- 15. Java의 다중 스레드 오브젝트 → 오브젝트 캐시 맵?
- 16. 오브젝트 배열을 통한 오브젝트 액세스
- 17. JSON-ception - 오브젝트 내부의 오브젝트
- 18. 오브젝트 대 오브젝트 맵핑 유틸리티
- 19. 오브젝트 데이터를 오브젝트 데이터와 분리
- 20. 오브젝트 또는 오브젝트 속성 전달
- 21. 내 Hibernate 왼쪽 외부 조인 결과에 대한 좋은 오브젝트 구조
- 22. 카메라 위치에 상대적으로 그리기
- 23. 오브젝트 참조와 오브젝트 해시 코드의 차이점
- 24. 오브젝트 라이브러리의 코어 데이터 엔티티 오브젝트
- 25. 이미지의 거리에 의한 오브젝트 보간
- 26. 오브젝트 마스킹하기
- 27. 비즈니스 오브젝트
- 28. 오브젝트 구성
- 29. 오브젝트 검색
- 30. OSX에서 카메라 피드 분석
Frustum 컬링은 화면에없는 모든 것을 제거하는 과정이므로 동일한 알고리즘을 사용하여 반대 결과를 찾는 것이 좋습니다. http://www.flipcode.com/archives/Frustum_Culling.shtml –
그러나 나는 뭔가가 제거되었는지 알고 싶다. 나는 2 대의 자동차를 얻었고 카메라는 그들 중간 지점에 설치되어있다. 그들이 너무 멀리 떨어져 있다면 (카메라를 둘 다 "떠난다") 나는 그들을 중간에 놓아야 만한다. –