Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Schau dir mal die Funktion gluUnProject() genauer an.Die wandelt die Fensterkoordinaten in Objektkoordinaten um, und sollte genau das machen was du benötigst.
Mehr Infos zur Parameterübergabe an diese Funktion :
<a href='http://www.eecs.tulane.edu/www/graphics/doc/OpenGL-Man-Pages/gluUnProject.html' target='_blank'>http://www.eecs.tulane.edu/www/graphics/do...uUnProject.html</a>
und hier :
<a href='http://www.opengl.org/developers/faqs/technical/glu.htm' target='_blank'>http://www.opengl.org/developers/faqs/tech...chnical/glu.htm</a> (Kapitel 4.070, ganz am Seitenende)
Hmm ... rein rechnerisch gesehen ist für mich die Sache zumindest klar:
Die Kamera steht auf dem Ursprung. In der perspectivischen Ansicht kennt man den Sichtwinkel (meistens 45°). Wenn man nun weiß, wie weit das Objekt von dem Ursprung entfernt sein müsste, so müsste man mit diesen Infos errechnen können, "wie breit" an der Stelle der Bildschirm in Weltkoordinaten ist. Weiß man dieses, so müsste man auch die "breite" eines Pixels ausrechnen können und damit die Mauskoordinaten ausrechnen können (am besten eine quatratische Zeichenfläche nehmen).....
So zumindest würde ich das machen, ob es funzt ist eine andere Geschichte.......
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Mitglieder in diesem Forum: Google [Bot] und 13 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.