Ausführungsmodell
Das Modell für die Interpretation von OpenGL-Befehlen ist Client/Server. Anwendungscode (der Client) gibt Befehle aus, die von OpenGL (dem Server) interpretiert und verarbeitet werden. Der Server kann auf demselben Computer wie der Client betrieben werden oder nicht. In diesem Sinne ist OpenGL netzwerktransparent. Ein Server kann mehrere OpenGL-Kontexte verwalten, von denen jeder einen gekapselten OpenGL-Zustand ist. Ein Client kann eine Verbindung mit einem dieser Kontexte herstellen. Das erforderliche Netzwerkprotokoll kann implementiert werden, indem ein bereits vorhandenes Protokoll (z. B. das des X Window-Systems) oder ein unabhängiges Protokoll verwendet wird. Es werden keine OpenGL-Befehle zum Abrufen von Benutzereingaben bereitgestellt.
Das Fenstersystem, das Framebuffer-Ressourcen zuordnet, steuert letztendlich die Auswirkungen von OpenGL-Befehlen auf den Framebuffer. Das Fenstersystem:
- Bestimmt, auf welche Teile des Framebuffer OpenGL zu einem bestimmten Zeitpunkt zugegriffen werden kann.
- Teilt OpenGL mit, wie diese Teile strukturiert sind.
Daher gibt es keine OpenGL-Befehle, um den Framebuffer zu konfigurieren oder OpenGL zu initialisieren. Die Framepufferkonfiguration erfolgt außerhalb von OpenGL in Verbindung mit dem Fenstersystem. Die OpenGL-Initialisierung erfolgt, wenn das Fenstersystem ein Fenster für das OpenGL-Rendering zuweist.