Modelo de ejecución
El modelo para la interpretación de comandos de OpenGL es cliente/servidor. El código de aplicación (el cliente) emite comandos, que OpenGL (el servidor interpreta y procesa). El servidor puede funcionar o no en el mismo equipo que el cliente. En este sentido, OpenGL es transparente en la red. Un servidor puede mantener varios contextos de OpenGL, cada uno de los cuales es un estado OpenGL encapsulado. Un cliente puede conectarse a cualquiera de estos contextos. El protocolo de red necesario se puede implementar mediante el aumento de un protocolo ya existente (como el del sistema de ventanaS X) o mediante un protocolo independiente. No se proporcionan comandos OpenGL para obtener la entrada del usuario.
El sistema de ventanas que asigna recursos framebuffer controla en última instancia los efectos de los comandos OpenGL en el framebuffer. El sistema de ventanas:
- Determina qué partes de framebuffer OpenGL pueden tener acceso en cualquier momento dado.
- Se comunica con OpenGL cómo se estructuran esas partes.
Por lo tanto, no hay comandos OpenGL para configurar framebuffer ni inicializar OpenGL. La configuración del búfer de fotogramas se realiza fuera de OpenGL junto con el sistema de ventanas; La inicialización de OpenGL tiene lugar cuando el sistema de ventanas asigna una ventana para la representación de OpenGL.