### Приложение OpenSceneGraph

###### Пт 12 мая 2017 en

Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.

Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента osgviewer. На этот раз результатом нашей работы стало приложение OpenSceneGraph, которое работает на Linux, macOS, Windows и Android.

Приложение очень простое. Оно умеет следующее:

1. Создание окна для отрисовки
2. Загрузка модели
3. Отрисовка модели с помощью простых шейдеров GLSL
4. Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android

Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.

Наша первая успешная сборка под Android в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.

Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).

Краткий перечень файлов:

1. Поверхность GLES2
2. Activity для отрисовки на этой поверхности
3. Интерфейс Java для нативной библиотеки
4. Реализация нативной библиотеки на C++
5. Файл CMake для сборки нативной библиотеки
6. Activity layout
7. Модель для отрисовки

Краткий перечень изменений проекта:

1. Обновление Android manifest для использования GLES2 и Activity
2. Использование файла CMake нативной библиотеки в проектном файле CMake

Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:

1. Ручная сборка OpenSceneGraph под каждую платформу
2. Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio

Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.

На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.

Category: News

##### Ads