|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- Title: OpenSceneGraph sample
- Date: 2017-05-12 00:00
- Category: News
- Slug: osg-sample
- Lang: en
-
- ![OSG sample][screenshot]
-
-
- This article describes creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.
-
- Previous tutorials described how to install OpenSceneGraph under Linux, macOS, Windows and render a model using the standard **osgviewer** tool. This time we worked on a [sample OpenSceneGraph application](https://github.com/OGStudio/openscenegraph-cross-platform-guide-application) that would run under Linux, macOS, Windows, and Android.
-
- The application is very basic and has the following features:
-
- 0. Render window creation
- 0. Model loading
- 0. Model rendering with simple GLSL shaders
- 0. Model motion with a mouse under Linux, macOS, Windows and a finger under Android
-
-
-
- Creating the tutorials for Linux, macOS, Windows was so easy and straightforward, that it only took us half a month. We spent the second half of the month creating Android tutorial.
-
- Our [first successful Android build][oct16_article] last year included hacks and non-obvious steps to make OpenSceneGraph run under Android. This time we wanted a cleaner, faster, and cheaper approach.
-
- The approach we ended up with requires just a few files and a few changes to the original Android Studio project (with C++ support) to make sample OpenSceneGraph application run under Android.
-
- Here's a quick rundown of the files:
-
- 0. GLES2 surface
- 0. Render activity to render to the surface
- 0. Native library Java interface
- 0. Native library C++ implementation
- 0. CMake file to build native library
- 0. Render activity layout
- 0. Model to display
-
-
-
- Here's a quick rundown of the project changes:
-
- 0. Update Android manifest to use GLES2 and render activity
- 0. Reference native library's CMake file in the project's CMake file
-
-
-
- OpenSceneGraph documentation suggests building OpenSceneGraph outside Android Studio with CMake. However, this approach has the following limitations:
-
- 0. You have to build OpenSceneGraph for each target architecture
- 0. You have to manually copy/reference built OpenSceneGraph libraries into Android Studio project
-
-
-
- Our approach includes building OpenSceneGraph for those target architectures that Android Studio project is built for. Also, OpenSceneGraph is already referenced, so no extra work is required: you just need to rebuild the project, and you're done.
-
- That's it for describing the creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.
-
- [screenshot]: {attach}/images/2017-05_osg-sample.png
- [oct16_article]: {filename}/articles/2016-11-19_2016-october-recap.md
|