Qt GLUI & lgl Framework
← GL Attribute | ● | Die Grafikpipeline →
GLUT hat diverse Problemchen (später). Deshalb nutzen wir ein auf Qt basiertes Framework aus dem glvertex.zip.
Das bedeutet aber, dass wir die legacy Befehle nicht mehr nutzen können. glColor*() u glVertex*() gehören dazu. Diese werden vom Framework über entsprechende lgl-Varianten emuliert.
Also: ab sofort lglVertex(x,y,z) statt glVertex3f(x,y,z), und lglColor(r,g,b,a) statt glColor4f(r,g,b,a), entsprechend auch lglBegin(LGL_TRIANGLES) und lglEnd().
Qt
Qt ist eine GUI-Bibliothek, die Betriebssystem, Grafiksystem, Eingabe, etc. abstrahiert. Sie enthält viele Funktionen, die plattformunabhängiges Programmieren einfacher machen.
Eine Qt-Applikation enthält in der main() Routine immer ein QtApplication Objekt, und ein oder mehrere Window-Objekte, die selber abgeleitet wurden:
[...]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Qt_GLWindow main;
main.show();
return(app.exec());
}
Im Framework-Kontext ist das Fenster von lgl_Qt_GLUI abgeleitet, das sich um fast alles kümmert. Man selber erstellt Konstruktor, Destruktor und überlädt initializeOpenGL() und renderOpenGL(double dt).
{
public:
Qt_GLWindow() : lgl_Qt_GLUI()
{
}
virtual ~Qt_GLWindow()
{
}
protected:
void initializeOpenGL()
{
}
void renderOpenGL(double dt)
{
}
};
Double Buffering etc. übernimmt das Framework.
← GL Attribute | ● | Die Grafikpipeline →