Modèle d’exécution
Le modèle d’interprétation des commandes OpenGL est client/serveur. Le code d’application (le client) émet des commandes, qui sont interprétées et traitées par OpenGL (le serveur). Le serveur peut ou non fonctionner sur le même ordinateur que le client. En ce sens, OpenGL est transparent sur le réseau. Un serveur peut gérer plusieurs contextes OpenGL, chacun d’eux étant un état OpenGL encapsulé. Un client peut se connecter à l’un de ces contextes. Le protocole réseau requis peut être implémenté en augmentant un protocole déjà existant (comme celui du système X Window) ou en utilisant un protocole indépendant. Aucune commande OpenGL n’est fournie pour obtenir une entrée utilisateur.
Le système de fenêtre qui alloue des ressources framebuffer contrôle en fin de compte les effets des commandes OpenGL sur le framebuffer. Système de fenêtre :
- Détermine les parties du framebuffer OpenGL qui peuvent accéder à un moment donné.
- Communique à OpenGL la façon dont ces parties sont structurées.
Par conséquent, il n’existe aucune commande OpenGL pour configurer le framebuffer ou initialiser OpenGL. La configuration de la mémoire tampon de trame est effectuée en dehors d’OpenGL conjointement avec le système de fenêtre ; L’initialisation d’OpenGL a lieu lorsque le système de fenêtre alloue une fenêtre pour le rendu OpenGL.