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 →