Seite 1 von 1

Maus und Tastatur Eingaben für OpenGL

Verfasst: 1. Februar 2006 17:17
von Psychodad
Ich möcht in meiner Anwendung einen kleinen 3D-Viewer einbauen, in dem ich ein Modell mit der Maus um seine 3-Achsen drehen, es in 3 Richtungen verschieben und vergrößern kann. Wie kann ich das anstellen.

Also das OpenGL habe ich gerade mit einem einfachen Modell zum Laufen bekommen. Ziel ist es das ich dafür keine externen Schaltflächen benötigt. Ich möchte das mit Kombinationen aus Tastatur, Maustasten und Mausbwegung hinbekommen.

Bsp:
[CTRL]+[Left-Mouse-Button]+[Maus bewegen] = Rotation usw.

Danke
Psychodad

Verfasst: 2. Februar 2006 07:18
von macman
Die OpenGL-Beispiele hast Du schon durch? Haben für mich gereicht um den Rest hinzu bekommen.

Verfasst: 2. Februar 2006 07:31
von macman
Ok, jetzt ist die Frage welches Qt du benutzt. Falls Du Zugriff auf Qt3 hast, dort sind die Beispiele deutlich besser und umfangreicher. Nimm das Demobeispiel, da findest Du ein GLControlWidget. Das ist abgeleitet vom QGLWidget und Du brauchst dein GLWidget nur vom GLControlWidget ableiten. Dann hast Du schon mal die Hälfte der gesuchten Funktionen drin. Den Rest in GLControlWidget einzubauen sollte kein Problem sein.

Verfasst: 2. Februar 2006 08:34
von Psychodad
Ich benutze Qt4.1. Das Beispiel habe ich teilweise durch. Wobei ich mir die navigation nicht weiter angeguckt habe, da ich dort eh keine Tasten/Mauskombinationen benutzen kann.

Verfasst: 2. Februar 2006 09:50
von macman
Psychodad hat geschrieben:Wobei ich mir die navigation nicht weiter angeguckt habe, da ich dort eh keine Tasten/Mauskombinationen benutzen kann.
Eine fertige Lösung wirst Du kaum finden. Du kannst dort aber schon mal die Objekte mit der Maus bewegen und das brauchst Du jetzt nur noch mit einer Tastaturabfrage erweitern und entsprechend reagieren.

Verfasst: 2. Februar 2006 12:02
von Psychodad
Dort scheint die sache über ActiveX zu gehen. Also leider der ganz falsche Zug für mich.

Verfasst: 2. Februar 2006 12:58
von Goos
Psychodad hat geschrieben:Dort scheint die sache über ActiveX zu gehen.
Wie kommst darauf?
Ich vermute fast, du scheinst dich verschaut zu haben ;)

Goos

Verfasst: 2. Februar 2006 16:28
von Psychodad
Okay ich habs begriffen. Das OpenGL Beispiel im QT-Assistant (4.1) ist das falsche! Wie soll man auch nur darauf kommen, dass das Beispiel welches mir dort unter der Überschrift OpenGL angeboten wird und welches wirklich OpenGL Bestandteile enthält eigentlich zur ActiveX Erklärung gedacht ist.

Nun gut, ich habe jetzt das eigentliche HelloGL offen und werde mich dort durch fummeln.

ThX

Verfasst: 2. Februar 2006 16:53
von Goos
Psychodad hat geschrieben: Nun gut, ich habe jetzt das eigentliche HelloGL offen und werde mich dort durch fummeln.

ThX
Ja, dort wirst auch finden was du suchst. Ist im Assistant wirklich n bissl doof gemacht :D

Goos