Maus und Tastatur Eingaben für OpenGL
Maus und Tastatur Eingaben für OpenGL
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
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
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.
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.Psychodad hat geschrieben:Wobei ich mir die navigation nicht weiter angeguckt habe, da ich dort eh keine Tasten/Mauskombinationen benutzen kann.
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
Nun gut, ich habe jetzt das eigentliche HelloGL offen und werde mich dort durch fummeln.
ThX