Ich habe mal wieder ein Problem.
Es wurde eine OpenGL-Komponente erstellt, die eine CAD-Zeichnung einlesen kann.
mit GLTranslate etc. pp wird alles korrekt gezoomt und verschoben.
Nun soll ich damit/daran arbeiten, und zwar sollen an mit der Maus zu bestimmenden Koordinaten (nur X und Y) bestimmte Objekte eingefügt werden.
Das GL-Ding hat als Handle eine angepaßte Paintbox.
Wie aber, bekomme ich bei einem MouseUp(...,X,Y, ...) bei unbekannter Verschiebung, unbekannten Größen und unbekanntem Zoom die passenden Ordinatenpaare [X|Y] für einen Mausklick?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Mittel glGetFloatv kann glGetFloatv(GL_MODELVIEW_MATRIX, @MeineMatrix) kann man sich die aktuelle Modelansichtsmatrix von OpenGL in ein Array (16 Singlewerte) speichern lassen. In dieser Matrix sind dann logischerweise alle Transformationen (bzw. Rotationen und Skalierungen) gespeichert. Über dieses Array kommst du dann auch an die von dir benötigten Werte.
Mitglieder in diesem Forum: Majestic-12 [Bot] 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.