Wenn opengl über lwjgl verwendet wird, wenn ein opengl-Kontext nicht verfügbar gemacht wird, indem kein Kontext aktiviert wird (mit glfwMakeContextCurrent (0)), ruft opengl als Ergebnis 0 auf. Dies kann zu unerwarteten Ergebnissen führen, und es ist oft schwer zu erkennen, wo das Problem liegt. Gibt es eine Möglichkeit zu sagen, wenn ein Kontext mit einem Rückruf oder etwas umgeschaltet wird, so dass ein richtiger Fehler abgelegt werden kann?So erkennen Sie, wenn ein OpenGL-Kontext geändert wird
0
A
Antwort
1
Soweit ich sagen kann, verwendet die lwjgl
Bibliothek mehrere verschiedene APIs, einschließlich GLFW
. Wenn Sie die GLFW
API
verwenden Kontexte zu erstellen (oder die Bibliothek, die es, wie es von der Website aussieht), dann können Sie das Fenster erhalten verlangen, dass der Kontext zur Zeit der Verwendung gebunden ist:
glfwGetCurrentContext();
Wenn dies NULL zurückgibt, ist es wahrscheinlich momentan nicht an ein Fenster gebunden. Sie können diese Funktion in einem glwwPollEvents() -Stil-Callback (oder etwas Ähnlichem) implementieren und eine Fehlermeldung ausgeben, wenn der Kontextzustand überprüft wird.
Verwandte Themen
- 1. jQuery + Jeditable - erkennen, wenn Auswahl geändert wird
- 2. So erkennen Sie, welche Karte oder SelectField geändert wird
- 3. Erkennen, wenn die Sitzungs-ID geändert wird
- 4. Erkennen, wenn ScrollBar Maximum geändert wird
- 5. So erkennen Sie, wenn ein HTML-Textfeld durch Javascript geändert wurde
- 6. So erkennen Sie Hotswap
- 7. So erkennen Sie das Ereignis "Hintergrundfarbe geändert" Mit jquery?
- 8. Erkennen, wenn die Größe eines Fensters mit JavaScript geändert wird?
- 9. So erkennen Sie, wenn ein Switch verschoben wurde, nicht geklickt
- 10. So erkennen Sie, wenn ein Webdienst Selenium Webdriver verwendet hat
- 11. So erkennen Sie, wenn die App deinstalliert wird
- 12. Qt4: So erkennen Sie, wenn eine QAction-Tastenkombination losgelassen wird
- 13. iOS Erkennen, ob Tab geändert wird
- 14. Erkennen, wenn ein Kind dynamisch hinzugefügt wird
- 15. So erkennen Sie eine Dateiaktualisierung, wenn Sie remote_file verwenden
- 16. So erkennen Sie, wenn ein Socket getrennt wurde
- 17. Etikettenwerte ändern, wenn ein Eingabewert geändert wird
- 18. Erkennen, wenn ein Registerkartenelement gedrückt wird
- 19. Erkennen, wenn ein Fragment gezeichnet wird?
- 20. Erkennen, wenn ein reaktiviertes Bild geladen wird
- 21. So erkennen Sie, wenn Windows inaktiv ist
- 22. So erkennen Sie DragLeave
- 23. Erkennen, wenn Eingangswert in Direktive geändert
- 24. Erkennen, wenn ein Mac OS X Fenster in der Größe geändert oder verschoben wird
- 25. Können Sie erkennen, wenn iCloud aktualisiert wird?
- 26. erkennen, wenn ein Optionsfeld
- 27. Wie ein Ereignis ausgelöst wird, wenn DataGrid.ItemsSource geändert wird
- 28. So manipulieren Sie ein bestimmtes Element, wenn es erstellt wird
- 29. So erkennen Sie phpmailer
- 30. So aktualisieren Sie die übergeordnete Komponente, wenn der Status der untergeordneten Komponente (Drittanbieter) geändert wird
Wie würde ich das innerhalb der glfwPollEvents() Methode anwenden? – pdid
Leider kenne ich Java nicht gut genug, um zu wissen, wie genau man das umsetzen kann. In C++ würde ich die Methoden einrichten, die ich für jedes spezifische Objekt abfragen möchte, indem ich die Callbacks glfwSet benutze. Wenn dann mein Objekt in jeder Schleife aktualisiert wird, wird die Methode abgefragt und zusammen mit den anderen Methoden aktualisiert . –
Flare