Приложение OpenSceneGraph
Пт 12 мая 2017 en
Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.
Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента osgviewer. На этот раз результатом нашей работы стало приложение OpenSceneGraph, которое работает на Linux, macOS, Windows и Android.
Приложение очень простое. Оно умеет следующее:
- Создание окна для отрисовки
- Загрузка модели
- Отрисовка модели с помощью простых шейдеров GLSL
- Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android
Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.
Наша первая успешная сборка под Android в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.
Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).
Краткий перечень файлов:
- Поверхность GLES2
- Activity для отрисовки на этой поверхности
- Интерфейс Java для нативной библиотеки
- Реализация нативной библиотеки на C++
- Файл CMake для сборки нативной библиотеки
- Activity layout
- Модель для отрисовки
Краткий перечень изменений проекта:
- Обновление Android manifest для использования GLES2 и Activity
- Использование файла CMake нативной библиотеки в проектном файле CMake
Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:
- Ручная сборка OpenSceneGraph под каждую платформу
- Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio
Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.
На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.
Category: News