std.qt5_glx
GLX-Surface-Verwaltung für Qt5: OpenGL-Kontext auf Qt5-Fenstern unter X11/Linux Desktop. GLX ist die traditionelle Verbindungsschicht zwischen OpenGL und dem X11-Fenstermanager — für Desktop-Linux bevorzugt, für Embedded/Mobile wird EGL verwendet.
→ std.qt5_app · std.qt5_gl · std.qt5_egl · std.x11
Verwendung
import std.qt5_glx;
// GLX-Kontext für Qt5-X11-Fenster
var display: *Display := Qt5GlxGetXDisplay();
var drawable: GLXDrawable := Qt5GlxGetDrawable(qtWindow);
var ctx: GLXContext := Qt5GlxCreateContext(display, visualInfo, nil, true);
Qt5GlxMakeCurrent(display, drawable, ctx);
// Rendern ...
Qt5GlxSwapBuffers(display, drawable);
Qt5GlxDestroyContext(display, ctx);
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
Qt5GlxGetXDisplay(): *Display | pub | Gibt X11-Display-Zeiger des Qt5-Screens zurück |
Qt5GlxGetDrawable(w: Qt5Widget): GLXDrawable | pub | Gibt GLX-Drawable für Qt5-Widget zurück |
Qt5GlxCreateContext(display: *Display, vi: *XVisualInfo, share: GLXContext, direct: bool): GLXContext | pub | Erzeugt GLX-Kontext |
Qt5GlxMakeCurrent(display: *Display, drawable: GLXDrawable, ctx: GLXContext): bool | pub | Aktiviert GL-Kontext für aktuellen Thread |
Qt5GlxSwapBuffers(display: *Display, drawable: GLXDrawable): void | pub | Tauscht Front/Back-Buffer (Double Buffering) |
Qt5GlxDestroyContext(display: *Display, ctx: GLXContext): void | pub | Gibt GL-Kontext frei |
Qt5GlxIsDirect(display: *Display, ctx: GLXContext): bool | pub | Prüft ob Kontext Hardware-beschleunigt ist |
Letzte Aktualisierung: 2026-05-22
