RAMSES (Rendering Architecture for Multi-Screen EnvironmentS)

Продукт
Разработчики: BMW
Дата последнего релиза: февраль 2019 г
Отрасли: Транспорт

2019: Раскрытие исходных кодов

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

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

BMW раскрыла исходные коды системы визуализации для автомобильных мультимедиа
BMW раскрыла исходные коды системы визуализации для автомобильных мультимедиа

На уровне, на котором работает RAMSES, применяется клиент-серверная модель для воспроизведения графики. Один процесс генерирует 3D-контент, а другой процесс занимается его рендерингом. Рендеринг может выполняться на другом устройстве или в виртуальной среде.

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

В рамках RAMSES также предлагается собственный низкоуровневый API, который инкапсулирует и объединяет команды и ресурсы для минимизации трафика между клиентом и сервером. Благодаря этому можно передавать высококачественный 3D-контент по обычным сетям для вывода на экран без притормаживаний и задержек, отмечают разработчики.[1]

Для ускорения загрузки и запуска, данные сцен и связанные с ними ресурсы (текстуры, шейдеры и т.п.) могут быть сериализированы в файлы и прокэшированы на стороне, отвечающей за отображение.[2]

Примечания