Ich weiß, dass es möglich ist, Xlib und OpenGL zusammen mit GLX zu verwenden (ich habe es selbst in C gemacht).
Das Problem ist, wie mache ich das in Python? Das OpenGL
-Modul verfügt über GLX-Funktionalität [ Dokumentation ], scheint es aber zu verwenden C-Typen und ich haben keine Ahnung (noch scheint es irgendjemand anders), wie man die verwendet xlib-Typen mit PyOpenGL.
Ich habe auch versucht, ctypes
zu verwenden und Bibliotheken direkt zu laden, stieß aber auf (offensichtliche) Probleme, wenn ich versuchte, die in der Xlib-Header-Datei definierten C-Makros wie DefaultRootWindow
zu verwenden.
Fehle ich etwas Offensichtliches, wie PyOpenGL eine eigene xlib
-Implementierung hat, oder ist das ohne ein (kompiliertes) Modulschreiben einfach nicht möglich?
Sie können Python-Xlib-Typen nicht direkt mit Python-Opengl verwenden. Aber Sie können die Tatsache, dass ein Fenster XID nur eine Zahl ist, um Python-Opengl im selben Fenster zu verwenden.
%Vor%Das ist wirklich schrecklich. (Fehlerprüfung und Auswahl einer sinnvollen fbConfig zur besseren Übersicht weggelassen)
Es sollte wirklich möglich sein, alle notwendigen xlib-Aufrufe mit ctypes durchzuführen. Pyglet, zum Beispiel, schafft es irgendwie, aber ich bin mir nicht sicher, auf welches spezifische Problem Sie stoßen.