Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 07:47

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Cursorposition in "Weltkoordinaten"
BeitragVerfasst: Mo Jan 08, 2007 19:56 
Offline
DGL Member

Registriert: So Feb 05, 2006 14:48
Beiträge: 15
Ich brauch die Mausposition auf dem Fenster in 3D-Koordinaten, damit ich da was platzieren kann.
Ich hab da jetzt probeweise ein Dreieck das mit ner Spitze an der Maus "kleben" sollte.
Code:
  1.   glLoadIdentity;
  2.   glTranslatef(0, 0, -10);
  3.  
  4.   glTranslatef((Mouse.X - 400) / 40, (Mouse.Y - 300) / -40, 0);
  5.   glBegin(GL_TRIANGLES);
  6.     glVertex2d(0, 0);
  7.     glVertex2d(0, 2);
  8.     glVertex2d(1, 2);
  9.   glEnd;
  10.  

Das Fenster hat 800x600 Pixel drauf, der Ursprung soll in der Mitte sitzen, die Kamera hat nen Öffnungswinkel von 90°.

Meine Überlegung dazu (Draufsicht):
Bild
Der dicke Strich oben is die Ebene in der sich das Dreieck bewegt, das unten is die Kamera^^
Wie man sieht is das Fenster von der Mitte aus 400 Pixel breit was 10 Einheiten entsprechen soll. Also teil ich die (transformierten) Mauskoordinaten einfach durch 40, dann sollte ich das ja erreichen. Das Dreieck hat das aber scheinbar nicht kapiert und bewegt sich nur bis ca 7,5 auf die Seite (bzw. wenn ich die Kamera nur 7,5 nach hinten schiebe passts fast).

Was mache ich da falsch?

//Edit: lol, meine Sig passt perfekt^^

_________________
Nichts ist so wie es scheint...
Der arme Sarge hat z.B keine Rückseite! :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 08, 2007 19:58 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
versuchs mal hiermit:
gluUnProject

_________________
ghost-site.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 08, 2007 20:13 
Offline
DGL Member

Registriert: So Feb 05, 2006 14:48
Beiträge: 15
Klingt zwar gut, hat aber verheerende Auswirkungen:
Bei manchen Mauspositionen ist das Dreieck da, bei manchen nicht. Insgesamt bewegt es sich recht wenig.
Was nehm ich da bei den Fenster-Koordinaten am dümmsten für einen Z-Wert?
Ich muss davon ausgehen dass ich in den "leeren" Raum zeige/klicke, also funktioniert das Beispiel von der Seite nicht.

Irgendwie gefällt mir meine Variante noch besser, nur leider tut die ja nicht :(

//Vergessen zu erwähnen: Mir reichen ja die X- und Y-Koordinaten im Ergebnis, Z is ja immer gleich.

_________________
Nichts ist so wie es scheint...
Der arme Sarge hat z.B keine Rückseite! :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 08, 2007 20:24 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Schau mal in den Anhang.
Das Quadrat bewegt sich in Abhängigkeit deiner Maus in dem Fenster.
Übrigens auch mit glUnProject gemacht ;)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 08, 2007 20:38 
Offline
DGL Member

Registriert: So Feb 05, 2006 14:48
Beiträge: 15
Sieht zwar auf den ersten Blick auch etwas unsauber positioniert aus, aber es wird ja die hintere Seite des Würfels positioniert ;)
Das schwarze Quad müsste halt in der Ebene der roten Seite liegen, aber das ist ja gleich gemacht. Z-Puffer leeren und weiter gehts!

Mich würde trotzdem noch interessieren wieso das mit dem Verhältnis nicht klappt, ich machs jetzt jedenfalls wie in deinem Beispiel :D
Danke!

//Edit:
Ha, ich weiß wieso meins nicht funzte: Das "Ding" nimmt den Öffnungswinkel von 90° für die Höhe, nicht die Breite :roll:
Wenn ich einfach durch 30 statt 40 teile gehts wunderbar!
Das msuss einem aber auch gesagt werden^^

_________________
Nichts ist so wie es scheint...
Der arme Sarge hat z.B keine Rückseite! :shock:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]