Registriert: So Jun 05, 2005 15:08 Beiträge: 39 Wohnort: Bei Bayreuth
Hi!
Ich hätte da mal wieder ein kleines Problemchen:
Ich arbeite schon etwas länger an einem Strategiespiel (WC3+Diablo2-Mischung ist in etwa meine Zielvorstellung) und stehe jetzt endgültig vor dem Problem, das ich die ganze Zeit vor mir hergeschoben habe:
Ich klicke die Landschaft mit der Maus an (ICH WILL KEINE FLÄCHEN SELEKTIEREN!) und das ausgewählte Objekt soll als Zielpunkt diesen Punkt auf der Landschaft gesetzt bekommen und da hinlaufen.
Der Neigungswinkel der Kammera ist immer 45°.
Soweit so gut, ich lese die Cursor-Position auf dem Bildschirm aus und berechen die Z-Werte, aber die X-Werte bereiten mir Probleme weil eine perspektivische Verzerrung in neg. Z-Richtung auftritt(hintere Kante eines Quadrats kleiner als vordere).
Um jetzt aus dem CURSOR.X mein MODEL.X berechen zu können, müsste ich jetzt den genauen perspektivischen Quotienten/Verzerrungsfaktor von OpenGl wissen, also die Konstante die angibt, um wieviel eine zur X-Achse parall. Strecke abhängig von deren Z-Wert verkleinert dargestellt wird.
Hoffe man kann meine (in diesem Fall etwas gestelzte) Beschreibung verstehen .
@ DGL-Crew: Vielleicht sollten solche Konstanten/Werte die von OpenGl vorgegeben werden auch in den FAQ aufgeführt werden, damit man bei diversen Berechnungen nicht immer ewig googlen muss?
(Falls sie schon drin stehen hab ich sie übersehen)
MFG und jetzt schon danke,
gmgler
_________________ Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Der Befehl glUnProject sollte das sein was du suchst. Der liefert dir die 3D Koordinaten des angeclickten Pixels. Dazu musst du ihm nur die 2D Pixelkoordinaten geben, und die Z-Koordinate aus dem Tiefenpuffer. Den rest berechnet OpenGL.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: So Jun 05, 2005 15:08 Beiträge: 39 Wohnort: Bei Bayreuth
(
Zitat:
Ach was ist denn das? Schrecklich: Es gibt keine Einträge zu glUnProject! Nanana, da gibts für die dgl-crew noch was zu arbeiten!
Naja, aber es gibt ja noch google!
MFG gmgler
PS: google hat mich auch verlassen, jetzt bin ich wirklich arm dran Die Funktion ist nicht oft dokumentiert, aber scheinbar recht kompliziert, ich hab irgendwie grad ÜBERHAUPT KEINEN Plan wie ich glUnProject einsetzten sollte...
Hat sich grklärt!
_________________ Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)
Zuletzt geändert von gmgler am Mo Jan 02, 2006 15:07, insgesamt 1-mal geändert.
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.