| Autor |
Nachricht |
Ulli
Unregistrierter
|
Ulli Unregistrierter
22:52:00 16.07.2002 Titel: |
Fenster in Weltkoordinaten umwandeln |
Zitieren |
Ich habs schon n paar mal probiert aber komme einfach nicht weiter: Wie wandle ich die 2D Koordinaten der maus auf einem Fenster in 3D Koordinaten in meinem "Raum" um? :?: Das ganze in OpenGL also bitte keine DX8 Funktionen posten |
|
|
|
 |
Werbeunterbrechung
|
|
 |
TGGC
Mitglied
Benutzerprofil
Anmeldungsdatum: 01.02.2001
Beiträge: 1895
|
TGGC Mitglied
10:32:00 17.07.2002 Titel: |
|
Zitieren |
Kurz gesagt: es geht nicht
Der Mauszeiger hat keine Koordinaten im 3D-Raum, da er nur zweidimensional ist. Du kannst nur einen Strahl vom Kamerapunkt zur Mausposition ziehen, und schauen, was alles draufliegt.
Bye, TGGC |
_________________ Was wirklich zählt, ist klar.
http://www.fh-merseburg.de/~roesch | ICQ#: 109019884
|
|
 |
Ulli
Unregistrierter
|
Ulli Unregistrierter
11:30:00 17.07.2002 Titel: |
|
Zitieren |
"Du kannst nur einen Strahl vom Kamerapunkt zur Mausposition ziehen, und schauen, was alles draufliegt."
Genau das meinte ich ja aber wie mach ich das? |
|
|
|
 |
Headhunter
Moderator
Benutzerprofil
Anmeldungsdatum: 20.08.2000
Beiträge: 3567
|
Headhunter Moderator
11:49:00 17.07.2002 Titel: |
|
Zitieren |
Hi !
Gibts da nicht was im FAQ ??
Naja, in der DX8 SDK gibts ein tolles Sample dazu.
Wenn du möchtest kann ich dir aber auch etwas Code
zuschicken... Mail mir einfach / poste hier |
_________________ (Mod im Spiele&Grafikforum)
Viele Grüße, headhunter
|
|
 |
Ulli
Unregistrierter
|
Ulli Unregistrierter
13:10:00 17.07.2002 Titel: |
|
Zitieren |
Ich hab jetz extra nochmal in der FAQ nachgeschut aber wieder nix gefunden, wäre nett wenn du mir das angebotene Beispiel zusenden könntest (Jakob-Lang@gmx.de) vieleicht wäre es aber besser es zu posten und den Thread dann ins FAQ zu verschieben. |
|
|
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1552
|
µ Mitglied
13:14:00 17.07.2002 Titel: |
|
Zitieren |
|
 |
TGGC
Mitglied
Benutzerprofil
Anmeldungsdatum: 01.02.2001
Beiträge: 1895
|
TGGC Mitglied
13:22:00 17.07.2002 Titel: |
|
Zitieren |
| Zitat: | Original erstellt von <Ulli>:
"Du kannst nur einen Strahl vom Kamerapunkt zur Mausposition ziehen, und schauen, was alles draufliegt."
Genau das meinte ich ja aber wie mach ich das? |
Also das würd ich so machen:
Du bestimmst das Rechteck, das von der near clipping Plane sichtbar ist (bzw. wenigsten 3 seiner Eckpunkte). Dazu brauchst du ja einfach nur die planes des view frustrums entsprechend schneiden oder du machst eine Rücktransformation der entsprechenden Eckpunkte des view frustrums. Ich seh, schon, das kapiert keiner, Zeichnung:
http://www.fh-merseburg.de/~roesch/trash/raypick.jpg
Also du bekommst jetzt O, das ist der Punkt der near clipping Plane, der nach (0,0) auf den Monitor transformiert wurde. Ausserdem können A und B bestimmt werden, die das Rechteck aufspannen. Jetzt skalierst du A und B, so wie die Mausposition auf den Bildschirm ist (z.B. in der Mitte mal 0.5) und bestimmst so den Durchstosspunkt. Den Punkt mit V (die Kameraposition) verbinden, fertig!
P.S.: spätenstens jetzt sollte es was im FAQ geben ;)
Bye, TGGC |
_________________ Was wirklich zählt, ist klar.
http://www.fh-merseburg.de/~roesch | ICQ#: 109019884
|
|
 |
Rumex
Mitglied
Benutzerprofil
Anmeldungsdatum: 19.12.2001
Beiträge: 24
|
Rumex Mitglied
13:22:00 17.07.2002 Titel: |
|
Zitieren |
Hi Headhunter,
kannste es mir auch zuschicken falls du es net postest?
sowelu@gmx.de |
_________________ mfg Rumex
Wer aufgibt verliert, wer nicht aufgibt, kann verlieren.
|
|
 |
TGGC
Mitglied
Benutzerprofil
Anmeldungsdatum: 01.02.2001
Beiträge: 1895
|
TGGC Mitglied
18:26:00 21.07.2002 Titel: |
|
Zitieren |
|
 |
RPD
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.05.2001
Beiträge: 1344
|
RPD Mitglied
19:04:00 21.07.2002 Titel: |
|
Zitieren |
da braucht er nicht den ganzen code posten, dass sample ist beim sdk dabei und zwar hier:
(SDK root)\Samples\Multimedia\Direct3D\Pick
|
_________________ Gruß
RPD
|
|
 |