Компания BMW открыла систему распределённой отрисовки RAMSES

23 февраля 2019 года

Компания BMW открыла исходные тексты проекта RAMSES (Архивная копия от 27 ноября 2020 на Wayback Machine) (Rendering Architecture for Multi-Screen EnvironmentS), в рамках которого подготовлена распределённая система отрисовки 3D-контента, сфокусированная на обеспечении высокой эффективности с позиции потребления ресурсов при использовании на встраиваемых системах и пропускной способности при трансляции вывода по сети. Код написан на языке C++ и распространяется под лицензией MPL 2.0 (Mozilla Public License).

Проект разработан в процессе оптимизации отрисовки контента в автомобильных информационно-развлекательных системах, содержащих несколько экранов и вычислительных устройств. RAMSES представляет собой прослойку, позволяющую применить клиент-серверную модель для отрисовки, при которой один процесс формирует 3D-контент, а другой занимается его отрисовкой. При этом процессы могут выполняться на другом устройстве или в разных виртуальных окружениях.

Более того, один вещающий процесс может передавать содержимое на несколько процессов отрисовки (отображение на разных экранах), несколько процессов отрисовки могут вещать через один процесс отрисовки (работа с несколькими приложениями на одном экране) или смешивая оба варианта (работа с несколькими приложениями на нескольких экранах). В итоге формируется своеобразный дисплейный кластер, в который входит набор имеющихся экранов и вычислительных устройств. Элементы в дисплейном кластере работают как единая экосистема, при том, что в состав кластера могут входить устройства на базе разных платформ (встраиваемые, настольные) и операционных систем (Windows, Linux) с различными графическими стеками (Wayland, X11, WGL, Integrity OS).

RAMSES предоставляет обвязку вокруг существующих реализаций OpenGL, позволяющую применять предлагаемую модель распределённой отрисовки для любых OpenGL-приложений. Поддерживается работа с различными версиями OpenGL (OpenGL ES 3.0+, OpenGL 4.2, 4.5 и т.п.), что позволяет использовать одну кодовую базу на различных платформах, предоставляющих разные версии OpenGL.

RAMSES также предоставляет собственный низкоуровневый API, близкий к OpenGL. Данный API упаковывает команды и ресурсы OpenGL для минимизации трафика между клиентом и сервером, что позволяет передавать высококачественный 3D-контент поверх обычных сетей для отображения без задержек и разрывов. Для ускорения загрузки и запуска, данные сцен и связанные с ними ресурсы (текстуры, шейдеры и т.п.) могут быть сериализированы в файлы и прокэшированы на стороне, отвечающей за отображение.

Минимальным обрабатываемым элементом контента является сцена. Например, мультимедийный проигрыватель может сформировать две сцены - одну с основным интерфейсом для мультимедийного экрана, а другую со списком песен для отображения на приборной панели. Сцены от разных приложений могут совмещаться на одном экране, например, в вышеприведённом примере список песен может быть совмещён с интерфейсом приборной панели.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания BMW открыла систему распределённой отрисовки RAMSES», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.