Problem Screen-to-świata na iPhon e
Konwersja współrzędnych ekranu na świat w OpenGLES to łatwe zadanie?
Mam model 3D (kostka) Przedstawiane w EAGLView i chcę, aby być w stanie wykryć, kiedy jestem dotykając środka danej twarzy (Z dowolnego kąta orientacji) sześcianu. Brzmi całkiem proste, ale nie jest ...
Problem:
Jak mogę dokładnie dotyczą ekranu współrzędnych (punkt dotknięcia) to światowej współrzędnych (a położenie w przestrzeni 3D OpenGL)? Oczywiście, przekonwertowanie danego punktu na "procent" ekranu/osi światowej może wydawać się logiczną poprawką, ale pojawią się problemy, gdy potrzebuję powiększyć lub obrócić przestrzeń 3D. Uwaga: obracanie powiększonej i pomniejszonej powierzchni 3D zmieni relację współrzędnych ekranu 2D z współrzędnymi światowymi 3D ... Ponadto musisz uwzględnić "odległość" między punktem widzenia a obiektami w przestrzeni 3D . Na początku może to wydawać się "łatwym zadaniem", ale zmienia się, gdy faktycznie badasz wymagania. I nie znalazłem żadnych przykładów ludzi robiących to na iPhonie. Jak to zwykle się dzieje?
za „proste” zadanie ?:
Jasne, można by podjąć zadanie pisania API działać jako pośrednik między ekranem a światem, ale zadanie stworzenie takich ram wymagałoby poważne projekt i prawdopodobnie zajmie to "czasu" - NIE, co może być jednoosobowe w ciągu 4 godzin ... I 4 godziny to mój ostateczny termin.
Pytanie:
- Jakie są jednymi z najprostszych sposobów na wiem czy dotknął określone lokalizacje w przestrzeni 3D w iPhone OpenGL ES świecie?
AFAIK nie jest to trywialne Problem rozwiązany, chyba że masz go przed lub o ile nie jest już wsparcie wbudowany w danym środowisku (co nie wydaje się być przypadek). Wiem, że wygląda to łatwiej niż jest, mieliśmy tę samą dyskusję z moimi kolegami. – zoul