Ausführungsmodell
Das Modell für die Interpretation von OpenGL-Befehlen ist client/server. Der Anwendungscode (der Client) gibt Befehle aus, die von OpenGL (dem Server) interpretiert und verarbeitet werden. Der Server kann auf demselben Computer wie der Client ausgeführt werden. In diesem Sinne ist OpenGL netzwerktransparent. Ein Server kann mehrere OpenGL-Kontexte verwalten, die jeweils einen gekapselten OpenGL-Zustand haben. 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-Fenstersystems) oder ein unabhängiges Protokoll verwendet wird. Zum Abrufen von Benutzereingaben werden keine OpenGL-Befehle bereitgestellt.
Das Fenstersystem, das Framepufferressourcen zuordt, steuert letztendlich die Auswirkungen von OpenGL-Befehlen auf den Framepuffer. Das Fenstersystem:
- Bestimmt, auf welche Teile des Framepuffers OpenGL zu einem bestimmten Zeitpunkt zugreifen kann.
- Teilt OpenGL mit, wie diese Teile strukturiert sind.
Daher gibt es keine OpenGL-Befehle zum Konfigurieren des Framepuffers oder Initialisieren von OpenGL. 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 zuteilen.