Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

4.1KB

Title: Приложение OpenSceneGraph Date: 2017-05-12 00:00 Category: News Slug: osg-sample Lang: ru

Ракета в дали

Эта статья описывает создание самоучителей по сборке приложения 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.