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