Title: Приложение OpenSceneGraph Date: 2017-05-12 00:00 Category: News Slug: osg-sample Lang: ru ![OSG sample][screenshot] Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017. Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента **osgviewer**. На этот раз результатом нашей работы стало [приложение OpenSceneGraph](https://github.com/OGStudio/openscenegraph-cross-platform-guide-application), которое работает на Linux, macOS, Windows и Android. Приложение очень простое. Оно умеет следующее: 0. Создание окна для отрисовки 0. Загрузка модели 0. Отрисовка модели с помощью простых шейдеров GLSL 0. Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android. Наша [первая успешная сборка под Android][oct16_article] в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход. Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++). Краткий перечень файлов: 0. Поверхность GLES2 0. Activity для отрисовки на этой поверхности 0. Интерфейс Java для нативной библиотеки 0. Реализация нативной библиотеки на C++ 0. Файл CMake для сборки нативной библиотеки 0. Activity layout 0. Модель для отрисовки Краткий перечень изменений проекта: 0. Обновление Android manifest для использования GLES2 и Activity 0. Использование файла CMake нативной библиотеки в проектном файле CMake Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения: 0. Ручная сборка OpenSceneGraph под каждую платформу 0. Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово. На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017. [screenshot]: {attach}/images/2017-05_osg-sample.png [oct16_article]: {filename}/articles/2016-11-19_2016-october-recap-ru.md