TOpenglControl Stoppt bei Klick

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Warf
Beiträge: 1910
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

TOpenglControl Stoppt bei Klick

Beitrag von Warf »

Hey ho Leute,
vorerst entschuldige ich mich für den schlechten Titel, mir ist nichts besseres eingefallen. Außerdem bitte ich um Verzeihung bei Rechtschreibfehlern, es ist schon spät/früh und ich bin schon sehr müde. Aber nun zu meiner Frage,

ich hätte eine kleine Frage. Ich benutze das TOpenglControl um einen Plattformunabhängigen Context für OpenGL zu erstellen. Das Problem, wenn ich auf das Control klicke das Idle event nicht Ausgeführt wird bis die Maus wieder oben ist. Die restlichen Events stören mich nicht, da die das Rendering nur kurzeitig unterbrechen, aber da ich auf das Control Klicken muss stört das schon. Ich weiß nicht ob ich einfach nur zu müde bin, aber ich komme grade einfach nicht auf eine Lösung (Ohne jetzt in den MainLoop der Anwendung direkt einzugreifen, will dass die normalen LCL Events normal ausgeführt werden).


PS: Noch eine allgemeine Frage zu OpenGL, ich benutze zum zeichnen glPushMatrix und glPopMatrix. Kann ich glPopMatix benutzen bevor ich das erste mal glPushMatix verwende (also liegt standardmäßig mindestens eine Identitäts Matrix auf dem Stack?)
Grüße Fred.

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: TOpenglControl Stoppt bei Klick

Beitrag von Scotty »

Wieso denkst du, dass dein OS bei gedrückter Maustaste noch immer im Idle-Zustand ist? Abhilfe könnte ein Invalidate im OnMouse-/OnKeyDown-Ereignis sein. Oder du stellst auf einen (threaded) Timer um.

Ich glaube nicht, dass du von einer (sinnvollen) Matrix auf dem Stack ausgehen kannst. Z.B kann der Viewport zwischenzeitlich geändert worden sein.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TOpenglControl Stoppt bei Klick

Beitrag von Mathias »

wenn ich auf das Control klicke das Idle event nicht Ausgeführt wird bis die Maus wieder oben ist.

Ich arbeite nicht mit Idle, sondern mit einem Timer, da habe ich diese Probleme nicht.

Kann ich glPopMatix benutzen bevor ich das erste mal glPushMatix verwende

Dies dürfte eigentlich nicht gehen, du kannst auch nicht etwas aus einem Karten nehmen, ohne das etwas reingestellt hast.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1910
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: TOpenglControl Stoppt bei Klick

Beitrag von Warf »

Habe es jetzt auch mit einem Timer gemacht, funktioniert Super. Danke.

Dies dürfte eigentlich nicht gehen, du kannst auch nicht etwas aus einem Karten nehmen, ohne das etwas reingestellt hast.

Hab es einfach mal ausprobiert, funktioniert komischerweise auch wenn es für mich keinerlei Sinn ergibt warum.

Antworten