Erkennen auf welche Objekte gezeigt wird in JoGL

  • Themenstarter Themenstarter Paulere
  • Beginndatum Beginndatum
P

Paulere

Gast
Hallo,

ich suche nun schon eine ganze Weile, kann aber bisher nichts finden (obwohl ich der Meinung bin das es dazu etwas geben müsste).
Ich bin noch nicht so sehr lange mit OpenGL unterwegs...

Wie sich erahnen lässt geht es um JoGL. Ich benutze noch nicht die 2.0, also die 1.1.1a

Kann mir jemand sagen ob und wenn ja, wie es geht das ich erkennen kann auf welches Objekt gerade der Mauszeiger zeigt? Ich habe also ein paar Objekte, diese ganze Szene kann rotiert werden...vergrößert und verkleinert und ich kann mich bewegen. Somit überlagern sich recht wahrscheinlich einige meiner Objekte. Es wird also schwer zu sagen welches Objekt sich gerade wo befindet. Ich will nun wissen wenn ich mit meiner Maus irgendwo hinklicke ob ich auf ein Objekt klicke oder auf den Hintergrund...noch besser wäre es zu wissen auf welches Objekt ich klicke. (Wenn es nun noch möglich wäre zu sagen wo genau ich auf diesem Objekt geklickt habe wäre das Perfekt)

Ich glaube mal gehört zu haben das es dafür etwas gibt...


Schonmal vielen Dank für eure Mühe im Vorraus
 
Edit:

4. Zu Fuß – Fensterkoordinaten in Objektkoordinaten zurückrechnen, Strahl durch die Szene schießen und jedes Dreieck auf Schnitt mit dem Strahl prüfen


Gruß,
Fancy
 
danke

ich werde mir das mal genauer ansehen. Ist es damit auch möglich zu erkennen wo ganz genau ich in das Objekt geklickt habe? Für mich machte es erstmal den anschein das ich damit nur erkennen kann welches objekt er geklickt hat.
 
Mit 1. und 2. nicht, es sei den Du teilst Deine Objekte in ganz viele kleine Stücke.

Mit 3. und 4. hingegen schon.

Du kannst auch z.B. 2. nutzen um das angeklickte Objekt zu finden (verkleinert den Suchraum) und dann mit 4. alle Dreiecke des Objektes durchgehen. Das ist schneller als irgendwelche Bäume zur Optimierung aufzuspannen.

Am elegantesten ist sicherlich 3., aber das braucht eben eine Grafikkarte mit Geometrieshader (imho ab gf8800) und etwas Erfahrung im Umgang mit Shadern.

Gruß,
Fancy
 
damit scheidet die 3. Variante aus...so eine Voraussetzung kann ich nicht machen

beim Teilen der Objekte in viele kleine Stücke...ginge bestimmt, aber dann hätte ich ca 10mio Objekte

bleibt also die 4. Variante, dass werde ich mir mal ansehen


Danke nochmal für die schnellen Antworten
 
Dann noch als Suchtipp: gluUnProject

Damit sollte sich zu 4. was finden lassen.

Gruß,
Fancy
 

Zurück
Oben