Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

2017-05-12_osg-sample-ru.md 4.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Title: Приложение OpenSceneGraph
  2. Date: 2017-05-12 00:00
  3. Category: News
  4. Slug: osg-sample
  5. Lang: ru
  6. ![OSG sample][screenshot]
  7. Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.
  8. Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента **osgviewer**. На этот раз результатом нашей работы стало [приложение OpenSceneGraph](https://github.com/OGStudio/openscenegraph-cross-platform-guide-application), которое работает на Linux, macOS, Windows и Android.
  9. Приложение очень простое. Оно умеет следующее:
  10. 0. Создание окна для отрисовки
  11. 0. Загрузка модели
  12. 0. Отрисовка модели с помощью простых шейдеров GLSL
  13. 0. Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android
  14. Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.
  15. Наша [первая успешная сборка под Android](http://www.opengame.epizy.com/lang/ru/news/2414) в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.
  16. Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).
  17. Краткий перечень файлов:
  18. 0. Поверхность GLES2
  19. 0. Activity для отрисовки на этой поверхности
  20. 0. Интерфейс Java для нативной библиотеки
  21. 0. Реализация нативной библиотеки на C++
  22. 0. Файл CMake для сборки нативной библиотеки
  23. 0. Activity layout
  24. 0. Модель для отрисовки
  25. Краткий перечень изменений проекта:
  26. 0. Обновление Android manifest для использования GLES2 и Activity
  27. 0. Использование файла CMake нативной библиотеки в проектном файле CMake
  28. Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:
  29. 0. Ручная сборка OpenSceneGraph под каждую платформу
  30. 0. Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio
  31. Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.
  32. На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.
  33. [screenshot]: {attach}/images/2017-05_osg-sample.png