Modelo de execução
O modelo para interpretação de comandos OpenGL é cliente/servidor. O código do aplicativo (o cliente) emite comandos, que são interpretados e processados pelo OpenGL (o servidor). O servidor pode ou não operar no mesmo computador que o cliente. Nesse sentido, o OpenGL é transparente para a rede. Um servidor pode manter vários contextos OpenGL, cada um deles um estado OpenGL encapsulado. Um cliente pode se conectar a qualquer um desses contextos. O protocolo de rede necessário pode ser implementado aumentando um protocolo já existente (como o do X Window System) ou usando um protocolo independente. Nenhum comando OpenGL é fornecido para obter a entrada do usuário.
O sistema de janelas que aloca recursos de framebuffer controla, em última análise, os efeitos dos comandos OpenGL no framebuffer. O sistema de janelas:
- Determina quais partes do OpenGL framebuffer podem acessar a qualquer momento.
- Comunica-se ao OpenGL como essas partes são estruturadas.
Portanto, não há comandos OpenGL para configurar o framebuffer ou inicializar o OpenGL. A configuração do buffer de quadro é feita fora do OpenGL em conjunto com o sistema de janelas; A inicialização do OpenGL ocorre quando o sistema de janela aloca uma janela para renderização do OpenGL.