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

Aktuelle Zeit: Mo Jul 14, 2025 15:47

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2003 19:52 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Also ich hab mir mal so ne kleine Fläche erstellt und wenn ich mit der Maus da drüber fahre soll diese Fläche
blau werden. Allerdings wird die Fläche zu Früh blau(wenn ich die Maus von Unten her nach oben fahre) oder
zu spät(von oben so ab der Mitte der Fläche) gibts da irgendwie was Grundlegendes was da falsch sein könnte
oder is da der Quelltext für notwendig um da überhaupt was zu sagen zu können??

MfG EnORItZ

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2003 20:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn dein Objekt zu früh gewählt wird, dann hast du entweder die falschen Koordianten für die Selektion benutzt, oder du hast den Radius für die Selektion zu groß gewählt.Beides übergibst du ja folgendermaßen :
<!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>gluPickMatrix(mx, viewport[<span class='integer'>3</span>]-my, <span class='integer'>1.0</span>, <span class='integer'>1.0</span>, viewport);</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
Ich geh mal davon aus, das du genau in dieser Funktion irgendwo was falsches angibts.Falls das immer noch nix bringt, kannste dir ja mal mein Tut (auf meiner HP) zum Thema Selektion anschauen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 09, 2003 13:36 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Jo ich werd mir mal dann dein Tut ansehen, denn ich hab die schon verschiedenes ausprobiert mit den ganzen Werten, aber
ich konnt das nur so machen das ich dann aus einer Blickrichtung die Objekte richtig auswählen konnte.

Mal sehn..... Danke schön!!

MfG EnORItZ

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 20:28 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Also durch ein wenig Probieren bin ich dann hier drauf gekommen :

<!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>gluPickMatrix(mx, viewport[<span class='integer'>3</span>]-my-<span class='integer'>28</span>, <span class='integer'>2.0</span>, <span class='integer'>2.0</span>, viewport)</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->

Das funktioniert aber es kann doch eigentlich nicht richtig sein, dass ich hier erst noch irgendwas von den Mauskoordinaten abziehen muss damit das geht. Das muss doch eigenlich so funktionieren....

MfG EnORItZ

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 20:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das du von den Koordinaten noch ne Konstante subtrahieren musst dürfte natürlich nicht sein.Aber eventuell nutzt du ja die falschen Mauskoordinaten.
Wie sieht denn dein Fenster aus?Gibts dort noch ein Menü oder ein Panel das oben bzw. unten sitzt?Und wo genau nimmst du dir deine Mauskoordinaten her?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 20:56 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Also ich beschreibs mal eben schnell:
Ich habe 2 Fenster.
Auf dem 1. sind Buttons und son kram für irgendwelche veränderungen, berechnungen, etc. fürs 2. Fenster.
Auf dem 2. Fenster ist nix drauf. Da wird direkt auf der Form mein OpenGL Scene gerendert.
Mauskoordinaten les ich beim MouseMove Event von der Form2 ein und speicher die Koordinaten in mx bzw. my.
Is kein Panel, Menü oder sowas in der Art mit drauf.

MfG EnORItZ

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 21:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Eigentlich sollte das ohne Probleme gehen, wenn du auf deiner OpenGL-Form wirklich keine anderen Komponenten wie Panels oder Menüs hast.Eventuell machst du irgendwo nen Fehler beim Setzen deines Viewports.
Um deine Selektion zu debuggen, solltest du einfach mal das Wechseln in den Selektionsmodus ausklammern und dann nach dem SwapBuffers ein längeres Sleep einbauen (1000ms oder mehr), dann siehst du nämlich wohin deine Selektion hingezielt hat.Vielleicht bringt dich das bei der Problemsuche etwas weiter.
Ansonsten kannste ja mal den Code aus meinem Selektionstut nutzen und es damit probieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 21:58 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Ich versteh jetzt nur noch nicht ganz woran ich erkennen kann wo meine Selektion hinzielt/gezielt hat. Was passiert denn wenn ich das gemacht habe, bzw. was sollte ich sehen können??

Ich werds dann weiter morgen probieren, is jetzt wohl zu spät...ka

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 12, 2003 09:02 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Also ich hab jetzt mal ein wenig rumprobiert und ich glaub der Fehler liegt beim Einlesen der Y-Koordinate auf meinem Formular. Die ist wohl um 28 Einheiten verschoben, weil wenn ich in meinem Selection Code das gluPickMatrix so schreibe:
<!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>gluPickMatrix(mx,viewport[<span class='integer'>3</span>]-my, <span class='integer'>2.0</span>, <span class='integer'>2.0</span>, viewport)</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
und beim Einlesen der Koordinaten im OnMouseMove-Event auf die y-Werte noch 28 zuaddiere wird das Objekt richtig ausgewählt.

Könnte das an der Titelleiste liegen, dass die y-Werte anscheinend nicht richtig sind??

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 12, 2003 10:20 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Eigentlich sollten die X und Y Koordinaten sich auf den Clientbereich des Fensters beziehen (wenn du sie etwa durch OnMouseDown erhälst). Setzt du aber denn auch den Viewport auf den Clientbereich? Oder nimmst du da einfach Form.Width und Form.Height statt ClientWidth und ClientHeight? Entsprechend musst du da natürlich auch die obere und die linke Kante setzen.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 12, 2003 11:00 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
@Thunderman: Genau das isses.... Thx....

Wieso kommt man auf sowas nicht früher.... manmanman

_________________
--->ladida<---


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.009s | 14 Queries | GZIP : On ]