Поделиться через


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

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

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

  • Определяет, к каким частям framebuffer OpenGL может получить доступ в любой момент времени.
  • Сообщает OpenGL о том, как эти части структурированы.

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