Publish durable applications

This commit is contained in:
2019-08-05 13:22:05 +03:00
parent cfc384d22b
commit d46501c255
298 changed files with 14278 additions and 7379 deletions

View File

@@ -0,0 +1,60 @@
Title: Приложение OpenSceneGraph
Date: 2017-05-12 00:00
Category: News
Slug: osg-sample
Lang: ru
![Ракета в дали][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.
Приложение очень простое. Оно умеет следующее:
1. Создание окна для отрисовки
1. Загрузка модели
1. Отрисовка модели с помощью простых шейдеров GLSL
1. Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android
Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.
Наша [первая успешная сборка под Android][oct16_article] в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.
Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).
Краткий перечень файлов:
1. Поверхность GLES2
1. Activity для отрисовки на этой поверхности
1. Интерфейс Java для нативной библиотеки
1. Реализация нативной библиотеки на C++
1. Файл CMake для сборки нативной библиотеки
1. Activity layout
1. Модель для отрисовки
Краткий перечень изменений проекта:
1. Обновление Android manifest для использования GLES2 и Activity
1. Использование файла CMake нативной библиотеки в проектном файле CMake
Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:
1. Ручная сборка OpenSceneGraph под каждую платформу
1. Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio
Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.
На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.
[screenshot]: ../../images/2017-05_osg-sample.png
[oct16_article]: 2016-october-recap.html