Move pelican site to obsolete-pelican subdirectory. Copy site-opengamestudio en/ru and index here
This commit is contained in:
158
obsolete-pelican/2016-october-recap.html
Normal file
158
obsolete-pelican/2016-october-recap.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<!-- Set the viewport width to device width for mobile -->
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
|
||||
<title>October 2016 recap</title>
|
||||
|
||||
<link rel="stylesheet" href="http://opengamestudio.org/theme/css/normalize.css" />
|
||||
<link rel="stylesheet" href="http://opengamestudio.org/theme/css/foundation.min.css" />
|
||||
<link rel="stylesheet" href="http://opengamestudio.org/theme/css/style.css" />
|
||||
<link rel="stylesheet" href="http://opengamestudio.org/theme/css/pygments.css" />
|
||||
<script src="http://opengamestudio.org/theme/js/custom.modernizr.js"></script>
|
||||
|
||||
<!-- So Firefox can bookmark->"abo this site" -->
|
||||
<link href="feeds/all.atom.xml" rel="alternate" title="Opensource Game Studio" type="application/atom+xml">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Nav Bar -->
|
||||
<nav>
|
||||
|
||||
<!-- Show menu items and pages -->
|
||||
<div class="row">
|
||||
<div class="large-12 columns top-bar">
|
||||
<h1><a href="http://opengamestudio.org">Opensource Game Studio</a></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row top-menu">
|
||||
<div class="large-12 columns">
|
||||
<a href="/pages/games.html" class="menu-button secondary">Games</a>
|
||||
<a href="/pages/education.html" class="menu-button secondary">Education</a>
|
||||
<a href="/pages/about.html" class="menu-button secondary">About</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Nav -->
|
||||
|
||||
|
||||
<!-- Main Page Content and Sidebar -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Main Blog Content -->
|
||||
<div class="large-9 columns">
|
||||
<article>
|
||||
<header>
|
||||
<h3 class="article-title"><a href="http://opengamestudio.org/2016-october-recap.html" rel="bookmark"
|
||||
title="Permalink to October 2016 recap">October 2016 recap</a></h3>
|
||||
</header>
|
||||
|
||||
<h6 class="subheader" title="2016-11-19T00:00:00+03:00">Сб 19 ноября 2016
|
||||
<a class="button secondary small translation-button" href="http://opengamestudio.org/2016-october-recap-ru.html">ru</a>
|
||||
|
||||
</h6> <p><img alt="October recap" src="http://opengamestudio.org/2016-11-19_2016-october-recap.png"></p>
|
||||
<p>This article describes how we spent a month building OpenSceneGraph (OSG) for Android: the first attempt to build OSG, the search for OSG alternatives, and the success in building OSG.</p>
|
||||
<p><strong>First attempt to build OSG.</strong></p>
|
||||
<p>Having no prior knowledge of Android development, we grabbed the latest Android Studio and started doing beginner tutorials.
|
||||
We passed Java part pretty fast. Everything worked out of the box. Then came C++ part and related problems.</p>
|
||||
<p><strong>CMake. </strong>To work with C++, Android Studio uses custom CMake, which conflicts with the system one. This was a clear indication that we had to set up a separate development environment specifically for Android.</p>
|
||||
<p><strong>KVM. </strong>We got Ubuntu under VirtualBox installed. All went fine until we tried to use Android Emulator. Turned out, VirtualBox could not run Android Emulator, because a virtual machine cannot provide kernel virtualization inside already virtualized environment.</p>
|
||||
<p><strong>Chroot for Android. </strong>Since we had a successful experience with chroot to build OGS Editor before, we decided to place Android development environment into chroot. With minor tweaking, we could finally run Android Emulator and build C++ project.</p>
|
||||
<p><strong>OSG. </strong>Building OSG seemed like a piece of cake at the time. However, all we got was a crash. Thinking that we got it wrong the first time, we tried to rebuild OSG once again. And the same crash again.
|
||||
Searching for the problem did not reveal any hint.
|
||||
Nobody helped us at the OSG mailing list.</p>
|
||||
<p>We were in despair.</p>
|
||||
<p><strong>The search for OSG alternatives.</strong></p>
|
||||
<p>Since OSG community did not help us, we decided to search for an alternative open source project to fit our Android needs (and may be more).</p>
|
||||
<p>And we found it: <a href="http://babylonhx.gamestudiohx.com/">BabylonHX</a>. The home page looked awesome: it rendered WebGL in the background!
|
||||
We thought we finally found the gem we were looking for. However, the example on the home page simply did not work.</p>
|
||||
<p>You can probably understand our feelings at the time.</p>
|
||||
<p><strong>The success in building OSG.</strong></p>
|
||||
<p>We realized nobody would make OSG work under Android for us. We had to do it ourselves.</p>
|
||||
<p>Since <a href="http://www.openscenegraph.org/index.php/documentation/platform-specifics/android/178-building-openscenegraph-for-android-3-4">OSG 3.4 document</a> on building for Android was very short, we no longer trusted it and headed to <a href="http://www.openscenegraph.org/index.php/documentation/platform-specifics/android/44-building-openscenegraph-for-android-3-0-3-0-1">original OSG 3.0 document</a>.
|
||||
While following it, we faced a dead link to third party dependencies.
|
||||
The search for an alternative download link lead us to a <a href="https://xinyustudio.wordpress.com/2013/09/24/install-osg-for-android-on-ubuntu-13-04-step-by-step-tutorials/">2013 tutorial</a> on building OSG 3.0 for Android.</p>
|
||||
<p>After following the tutorial, we finally got OSG to run under Android!
|
||||
But there was a nuance: both OSG and Android tools used in the tutorial were ancient.
|
||||
In a few days, we gradually updated both OSG and Android tools to their latest versions.</p>
|
||||
<p>During the update process, we learned two things that prevented us from having OSG to work in the first place:</p>
|
||||
<ul>
|
||||
<li>Android API headers changed in NDK r12</li>
|
||||
<li>OSG only works as a static library under Android</li>
|
||||
</ul>
|
||||
<p>That's it for describing how we spent the month building OSG for Android: the first attempt to build OSG, the search for OSG alternatives, and the success in building OSG.</p>
|
||||
<p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
<!-- End Main Content -->
|
||||
|
||||
<!-- Sidebar -->
|
||||
<aside class="large-3 columns">
|
||||
<!--k
|
||||
<h5 class="sidebar-title">Site</h5>
|
||||
<ul class="side-nav">
|
||||
<li><a href="http://opengamestudio.org/archives.html">Archives</a>
|
||||
<li><a href="http://opengamestudio.org/tags.html">Tags</a>
|
||||
|
||||
|
||||
<li><a href="http://opengamestudio.org/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h5 class="sidebar-title">Categories</h5>
|
||||
<ul class="side-nav">
|
||||
<li><a href="http://opengamestudio.org/category/news.html">News</a></li>
|
||||
|
||||
</ul>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
<h5 class="sidebar-title">Ads</h5>
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- ogs2 -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:block"
|
||||
data-ad-client="ca-pub-4473792248813084"
|
||||
data-ad-slot="9024247127"
|
||||
data-ad-format="auto"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
|
||||
</aside> <!-- End Sidebar -->
|
||||
|
||||
</div> <!-- End Main Content and Sidebar -->
|
||||
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="row">
|
||||
<div class="large-12 columns">
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="large-7 columns">
|
||||
<p>Proudly powered by <a href="http://getpelican.com">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-3773114-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</footer>
|
||||
Reference in New Issue
Block a user