Модель выполнения

Модель интерпретации команд OpenGL — это клиент или сервер. Код приложения (клиент) выдает команды, которые интерпретируются и обрабатываются OpenGL (сервер). Сервер может работать на том же компьютере, что и клиент. В этом смысле OpenGL является прозрачным для сети. Сервер может поддерживать несколько контекстов OpenGL, каждый из которых является инкапсулированным состоянием OpenGL. Клиент может подключаться к любому из этих контекстов. Необходимый сетевой протокол можно реализовать путем расширения уже существующего протокола (например, системы X Window) или с помощью независимого протокола. Для получения пользовательских входных данных не предоставляются команды OpenGL.

Система окон, которая выделяет ресурсы framebuffer, в конечном счете управляет эффектами команд OpenGL на фреймбуфере. Система окон:

  • Определяет, какие части фреймбуфера OpenGL могут получить доступ в любое время.
  • Взаимодействует с OpenGL, как эти части структурированы.

Поэтому нет команд OpenGL для настройки фреймбаффера или инициализации OpenGL. Конфигурация буфера кадра выполняется вне OpenGL в сочетании с системой окон; Инициализация OpenGL происходит, когда система окон выделяет окно для отрисовки OpenGL.