Browse Source

Add 2017-07 article

pull/1/head
parent
commit
9ad5140c35
11 changed files with 490 additions and 160 deletions
  1. BIN
      2017-07-openscenegraph-guide.png
  2. +4
    -0
      archives.html
  3. +39
    -58
      author/opensource-game-studio.html
  4. +18
    -0
      author/opensource-game-studio2.html
  5. +42
    -42
      category/news.html
  6. +45
    -1
      feeds/all.atom.xml
  7. +23
    -1
      feeds/news.atom.xml
  8. +39
    -58
      index.html
  9. +18
    -0
      index2.html
  10. +131
    -0
      openscenegraph-cross-platform-guide-ru.html
  11. +131
    -0
      openscenegraph-cross-platform-guide.html

BIN
2017-07-openscenegraph-guide.png View File

Before After
Width: 1024  |  Height: 768  |  Size: 43KB

+ 4
- 0
archives.html View File

@@ -49,6 +49,10 @@

<table class="table-archive">
<tbody>
<tr>
<td>Sat 01 July 2017</td>
<td><a href='openscenegraph-cross-platform-guide.html'>OpenSceneGraph cross-platform guide</a></td>
</tr>
<tr>
<td>Thu 08 June 2017</td>
<td><a href='ios-tutorial.html'>iOS tutorial</a></td>


+ 39
- 58
author/opensource-game-studio.html View File

@@ -48,50 +48,30 @@

<article>
<a href="https://ogstudio.github.io/ios-tutorial.html"><h3 class="article-title">iOS tutorial</h3></a>
<h6 class="subheader" title="2017-06-08T10:00:00+07:00">Thu 08 June 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/ios-tutorial-ru.html">ru</a>

</h6><p><img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up with a hackish demo that works for one person, but it's hard to create a concise example that works for everyone.</p>
<h3>Native library</h3>
<p>The first question we had to answer was: should the sample application be part of Xcode project or be a separately built library?</p>
<p>We had to consider the following facts:</p>
<a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html"><h3 class="article-title">OpenSceneGraph cross-platform guide</h3></a>
<h6 class="subheader" title="2017-07-01T00:00:00+07:00">Sat 01 July 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html">ru</a>

</h6><p><img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"></p>
<p>This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.</p>
<p>June marked the finish of <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> with the publishing of the last (initially planned) tutorial. The tutorial describes <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb">how to build and run sample OpenSceneGraph application in Web</a> using Emscripten.
In case you missed it, here's a <a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/">link to the final application</a>. Open it in your web browser.</p>
<p>We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.</p>
<p>We have been doing OpenSceneGraph cross-platform guide for two main reasons:</p>
<ol>
<li>Xcode project can use C++ directly (thanks to Objective-C++) without stuff like JNI<ul>
<li>There's no need for a separate library (+ application)</li>
<li>Creating a separate library is an additional work (- library)</li>
</ul>
</li>
<li>OpenSceneGraph builds libraries<ul>
<li>It's easier to use standard build process (+ library)</li>
<li>It's harder to create custom build process just for a single platform (- application)</li>
</ul>
</li>
<li>OpenSceneGraph uses CMake build system, which is not supported by Xcode<ul>
<li>Xcode project can't include CMake files (- application)</li>
<li>It's easy to create custom CMake file that includes OpenSceneGraph CMake file to build a single library (+ library)</li>
</ul>
</li>
<li>CMake can generate Xcode project<ul>
<li>It's possible to create a CMake file that builds both OpenSceneGraph and the sample application (+ application)</li>
<li>Xcode is the de-facto tool to create Xcode projects; it's easier to use standard build process (+ library)</li>
</ul>
</li>
<li>Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form</li>
<li>Share the knowledge with OpenSceneGraph community to make it stronger</li>
</ol>
<p>After evaluating the pros and cons of each approach, we decided to turn the sample application into a library and include it in Xcode project. The downside of this approach is that simulator and real device builds need separate library builds.</p>
<h3>Refactoring</h3>
<p>The second question we had to answer was: should there be a single source code base for all platforms or several ones, one for each platform?</p>
<p>While doing Android tutorial we used single source code base because it worked fine for desktop and Android. As we started to work through iOS tutorial, it became apparent that particular features may or may not work on some platforms. For example, one feature may work on desktop and iOS, but not Android. Another feature may work on iOS and Android, but not desktop. Since we didn't want to pollute the code with #ifdefs, we started to put each platform combination into a separate file. The number of files grew rapidly. The files were reusable, but it became extremely hard to see the whole picture.</p>
<p>At this point, we realized there's the second question. We reminded ourselves that the main purpose of the sample source code is to teach how to do basic OpenSceneGraph things, not create a reusable library with API that is stable across several years.</p>
<p>That's when our home grown feature tool came into play. With its help, we separated the code into several parts, which in the end produce just two files for each platform:</p>
<p>We believe we succeeded in both. Here's why:</p>
<ol>
<li>functions.h - contains reusable classless functions</li>
<li>main.h - contains the rest of the sample application code</li>
<li>The guide repository has more <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers">stars</a> (aka "likes") than any other repository of ours</li>
<li>OpenSceneGraph project leader Robert Osfield said <a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html">"Great work"</a>, which means a lot</li>
<li>The guide already has <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues">two issues</a></li>
</ol>
<p>Their contents differ slightly for each platform, but it's easy to see the whole picture now.</p>
<p>That's it for describing problems we faced during the creation of iOS tutorial in May 2017.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>
<p>Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.</p>
<p>However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we <a href="http://opengamestudio.org/lang/en/news/2456">promised in January</a>.</p>
<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>

@@ -105,6 +85,25 @@


<article>
<a href="https://ogstudio.github.io/ios-tutorial.html"><h3 class="article-title">iOS tutorial</h3></a>
<h6 class="subheader" title="2017-06-08T10:00:00+07:00">Thu 08 June 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/ios-tutorial-ru.html">ru</a>

</h6><p><img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up …</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/ios-tutorial.html">Read More</a>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/pelican-review.html"><h3 class="article-title">Pelican review</h3></a>
<h6 class="subheader" title="2017-06-03T22:00:00+07:00">Sat 03 June 2017
@@ -247,24 +246,6 @@ to get up and running real fast.</p>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/kr4.html"><h3 class="article-title">kr4</h3></a>
<h6 class="subheader" title="2017-01-01T04:04:00+07:00">Sun 01 January 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/kr4-ru.html">ru</a>

</h6><p>kr4</p>
<p>LANG: en</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/review.html">Review</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/kr4.html">Read More</a>
<hr class="gradient"/>
</article>

<!-- /#posts-list -->
<div class="pagination-centered">
<h6 class="subheader">Page 1 of 2</h6>


+ 18
- 0
author/opensource-game-studio2.html View File

@@ -48,6 +48,24 @@


<article>
<a href="https://ogstudio.github.io/kr4.html"><h3 class="article-title">kr4</h3></a>
<h6 class="subheader" title="2017-01-01T04:04:00+07:00">Sun 01 January 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/kr4-ru.html">ru</a>

</h6><p>kr4</p>
<p>LANG: en</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/review.html">Review</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/kr4.html">Read More</a>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/kr3.html"><h3 class="article-title">kr3</h3></a>
<h6 class="subheader" title="2017-01-01T03:04:00+07:00">Sun 01 January 2017


+ 42
- 42
category/news.html View File

@@ -47,6 +47,44 @@

<article>
<a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html"><h3 class="article-title">OpenSceneGraph cross-platform guide</h3></a>
<h6 class="subheader" title="2017-07-01T00:00:00+07:00">Sat 01 July 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html">ru</a>

</h6><p><img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"></p>
<p>This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.</p>
<p>June marked the finish of <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> with the publishing of the last (initially planned) tutorial. The tutorial describes <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb">how to build and run sample OpenSceneGraph application in Web</a> using Emscripten.
In case you missed it, here's a <a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/">link to the final application</a>. Open it in your web browser.</p>
<p>We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.</p>
<p>We have been doing OpenSceneGraph cross-platform guide for two main reasons:</p>
<ol>
<li>Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form</li>
<li>Share the knowledge with OpenSceneGraph community to make it stronger</li>
</ol>
<p>We believe we succeeded in both. Here's why:</p>
<ol>
<li>The guide repository has more <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers">stars</a> (aka "likes") than any other repository of ours</li>
<li>OpenSceneGraph project leader Robert Osfield said <a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html">"Great work"</a>, which means a lot</li>
<li>The guide already has <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues">two issues</a></li>
</ol>
<p>Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.</p>
<p>However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we <a href="http://opengamestudio.org/lang/en/news/2456">promised in January</a>.</p>
<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>


</article>


<hr class="gradient"/>




<article>
<a href="https://ogstudio.github.io/ios-tutorial.html"><h3 class="article-title">iOS tutorial</h3></a>
<h6 class="subheader" title="2017-06-08T10:00:00+07:00">Thu 08 June 2017
@@ -54,50 +92,16 @@

</h6><p><img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up with a hackish demo that works for one person, but it's hard to create a concise example that works for everyone.</p>
<h3>Native library</h3>
<p>The first question we had to answer was: should the sample application be part of Xcode project or be a separately built library?</p>
<p>We had to consider the following facts:</p>
<ol>
<li>Xcode project can use C++ directly (thanks to Objective-C++) without stuff like JNI<ul>
<li>There's no need for a separate library (+ application)</li>
<li>Creating a separate library is an additional work (- library)</li>
</ul>
</li>
<li>OpenSceneGraph builds libraries<ul>
<li>It's easier to use standard build process (+ library)</li>
<li>It's harder to create custom build process just for a single platform (- application)</li>
</ul>
</li>
<li>OpenSceneGraph uses CMake build system, which is not supported by Xcode<ul>
<li>Xcode project can't include CMake files (- application)</li>
<li>It's easy to create custom CMake file that includes OpenSceneGraph CMake file to build a single library (+ library)</li>
</ul>
</li>
<li>CMake can generate Xcode project<ul>
<li>It's possible to create a CMake file that builds both OpenSceneGraph and the sample application (+ application)</li>
<li>Xcode is the de-facto tool to create Xcode projects; it's easier to use standard build process (+ library)</li>
</ul>
</li>
</ol>
<p>After evaluating the pros and cons of each approach, we decided to turn the sample application into a library and include it in Xcode project. The downside of this approach is that simulator and real device builds need separate library builds.</p>
<h3>Refactoring</h3>
<p>The second question we had to answer was: should there be a single source code base for all platforms or several ones, one for each platform?</p>
<p>While doing Android tutorial we used single source code base because it worked fine for desktop and Android. As we started to work through iOS tutorial, it became apparent that particular features may or may not work on some platforms. For example, one feature may work on desktop and iOS, but not Android. Another feature may work on iOS and Android, but not desktop. Since we didn't want to pollute the code with #ifdefs, we started to put each platform combination into a separate file. The number of files grew rapidly. The files were reusable, but it became extremely hard to see the whole picture.</p>
<p>At this point, we realized there's the second question. We reminded ourselves that the main purpose of the sample source code is to teach how to do basic OpenSceneGraph things, not create a reusable library with API that is stable across several years.</p>
<p>That's when our home grown feature tool came into play. With its help, we separated the code into several parts, which in the end produce just two files for each platform:</p>
<ol>
<li>functions.h - contains reusable classless functions</li>
<li>main.h - contains the rest of the sample application code</li>
</ol>
<p>Their contents differ slightly for each platform, but it's easy to see the whole picture now.</p>
<p>That's it for describing problems we faced during the creation of iOS tutorial in May 2017.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up …</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/ios-tutorial.html">Read More</a>
<hr class="gradient"/>
</article>

<!-- /#posts-list -->
<div class="pagination-centered">
<h6 class="subheader">Page 1 of 1</h6>

@@ -106,10 +110,6 @@
</p>
</div>



<!-- /#posts-list -->

</div>
<!-- End Main Content -->



+ 45
- 1
feeds/all.atom.xml View File

@@ -1,5 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/all.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-06-08T10:00:00+07:00</updated><entry><title>iOS tutorial</title><link href="https://ogstudio.github.io/ios-tutorial.html" rel="alternate"></link><published>2017-06-08T10:00:00+07:00</published><updated>2017-06-08T10:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-08:/ios-tutorial.html</id><summary type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/all.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-07-01T00:00:00+07:00</updated><entry><title>OpenSceneGraph cross-platform guide</title><link href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html" rel="alternate"></link><published>2017-07-01T00:00:00+07:00</published><updated>2017-07-01T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-07-01:/openscenegraph-cross-platform-guide.html</id><summary type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;
&lt;p&gt;June marked the finish of &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;OpenSceneGraph cross-platform guide&lt;/a&gt; with the publishing of the last (initially planned) tutorial. The tutorial describes &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;how to build and run sample OpenSceneGraph application in Web&lt;/a&gt; using Emscripten.
In case you missed it, here's …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;
&lt;p&gt;June marked the finish of &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;OpenSceneGraph cross-platform guide&lt;/a&gt; with the publishing of the last (initially planned) tutorial. The tutorial describes &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;how to build and run sample OpenSceneGraph application in Web&lt;/a&gt; using Emscripten.
In case you missed it, here's a &lt;a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/"&gt;link to the final application&lt;/a&gt;. Open it in your web browser.&lt;/p&gt;
&lt;p&gt;We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.&lt;/p&gt;
&lt;p&gt;We have been doing OpenSceneGraph cross-platform guide for two main reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form&lt;/li&gt;
&lt;li&gt;Share the knowledge with OpenSceneGraph community to make it stronger&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We believe we succeeded in both. Here's why:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The guide repository has more &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers"&gt;stars&lt;/a&gt; (aka "likes") than any other repository of ours&lt;/li&gt;
&lt;li&gt;OpenSceneGraph project leader Robert Osfield said &lt;a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html"&gt;"Great work"&lt;/a&gt;, which means a lot&lt;/li&gt;
&lt;li&gt;The guide already has &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues"&gt;two issues&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.&lt;/p&gt;
&lt;p&gt;However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we &lt;a href="http://opengamestudio.org/lang/en/news/2456"&gt;promised in January&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;</content></entry><entry><title>OpenSceneGraph cross-platform guide</title><link href="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html" rel="alternate"></link><published>2017-07-01T00:00:00+07:00</published><updated>2017-07-01T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-07-01:/openscenegraph-cross-platform-guide-ru.html</id><summary type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;Эта статья резюмирует создание кросс-платформенного руководства OpenSceneGraph.&lt;/p&gt;
&lt;p&gt;Июнь ознаменовал собой окончание работы над &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;кросс-платформенным руководством OpenSceneGraph&lt;/a&gt;. Мы опубликовали последний самоучитель (из изначально запланированных). Этот самоучитель описывает &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;сборку и запуск примера приложения OpenSceneGraph в вебе&lt;/a&gt; с помощью Emscripten.
Если вы упустили этот самоучитель, то вот &lt;a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/"&gt;ссылка на приложение&lt;/a&gt; из него. Откройте …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;Эта статья резюмирует создание кросс-платформенного руководства OpenSceneGraph.&lt;/p&gt;
&lt;p&gt;Июнь ознаменовал собой окончание работы над &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;кросс-платформенным руководством OpenSceneGraph&lt;/a&gt;. Мы опубликовали последний самоучитель (из изначально запланированных). Этот самоучитель описывает &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;сборку и запуск примера приложения OpenSceneGraph в вебе&lt;/a&gt; с помощью Emscripten.
Если вы упустили этот самоучитель, то вот &lt;a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/"&gt;ссылка на приложение&lt;/a&gt; из него. Откройте ссылку в веб-браузере.&lt;/p&gt;
&lt;p&gt;Мы начали составление руководства в феврале, как только нам удалось отобразить простую модель на мобилках и вебе.
Мы потратили 120 часов за пять месяцев на составление десяти самоучителей этого руководства.&lt;/p&gt;
&lt;p&gt;Создание кросс-платформенного руководства OpenSceneGraph преследовало две основные цели:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Сохранить знания о кросс-платформенной работе с OpenSceneGraph в легкодоступной и воспроизводимой форме&lt;/li&gt;
&lt;li&gt;Поделиться этим знанием с сообществом OpenSceneGraph и тем самым усилить сообщество&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Мы уверены в том, что нам удалось достичь обе цели. И вот почему:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Хранилище руководства получило больше &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers"&gt;звёзд&lt;/a&gt; (лайков), чем любое другое наше хранилище&lt;/li&gt;
&lt;li&gt;Robert Osfield, лидер проекта OpenSceneGraph, оценил руководство как &lt;a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html"&gt;"отличную работу"&lt;/a&gt;; это значит для нас многое&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;У руководства уже есть &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues"&gt;два тикета&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;В конце концов, мы просто рады тому факту, что изучили кросс-платформенную разработку с OpenSceneGraph и поделились этим знанием с сообществом.&lt;/p&gt;
&lt;p&gt;Тем не менее, наше путешествие на этом не окончено. Используя знания руководства, мы продолжаем работу над тем, чтобы добавить в свои инструменты поддержку мобилок и веба, как мы &lt;a href="http://opengamestudio.org/lang/ru/news/2456"&gt;обещали в январе&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;На этом мы заканчиваем резюме о создании кросс-платформенного руководства OpenSceneGraph.&lt;/p&gt;</content></entry><entry><title>iOS tutorial</title><link href="https://ogstudio.github.io/ios-tutorial.html" rel="alternate"></link><published>2017-06-08T10:00:00+07:00</published><updated>2017-06-08T10:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-08:/ios-tutorial.html</id><summary type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
&lt;p&gt;This article describes problems we faced during the creation of iOS tutorial in May 2017.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/OpenGameStudio/status/826816343433498627"&gt;This February&lt;/a&gt; we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
&lt;p&gt;This article describes problems we faced during the creation of iOS tutorial in May 2017.&lt;/p&gt;


+ 23
- 1
feeds/news.atom.xml View File

@@ -1,5 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio - News</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/news.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-06-08T10:00:00+07:00</updated><entry><title>iOS tutorial</title><link href="https://ogstudio.github.io/ios-tutorial.html" rel="alternate"></link><published>2017-06-08T10:00:00+07:00</published><updated>2017-06-08T10:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-08:/ios-tutorial.html</id><summary type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio - News</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/news.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-07-01T00:00:00+07:00</updated><entry><title>OpenSceneGraph cross-platform guide</title><link href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html" rel="alternate"></link><published>2017-07-01T00:00:00+07:00</published><updated>2017-07-01T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-07-01:/openscenegraph-cross-platform-guide.html</id><summary type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;
&lt;p&gt;June marked the finish of &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;OpenSceneGraph cross-platform guide&lt;/a&gt; with the publishing of the last (initially planned) tutorial. The tutorial describes &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;how to build and run sample OpenSceneGraph application in Web&lt;/a&gt; using Emscripten.
In case you missed it, here's …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"&gt;&lt;/p&gt;
&lt;p&gt;This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;
&lt;p&gt;June marked the finish of &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide"&gt;OpenSceneGraph cross-platform guide&lt;/a&gt; with the publishing of the last (initially planned) tutorial. The tutorial describes &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb"&gt;how to build and run sample OpenSceneGraph application in Web&lt;/a&gt; using Emscripten.
In case you missed it, here's a &lt;a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/"&gt;link to the final application&lt;/a&gt;. Open it in your web browser.&lt;/p&gt;
&lt;p&gt;We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.&lt;/p&gt;
&lt;p&gt;We have been doing OpenSceneGraph cross-platform guide for two main reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form&lt;/li&gt;
&lt;li&gt;Share the knowledge with OpenSceneGraph community to make it stronger&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We believe we succeeded in both. Here's why:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The guide repository has more &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers"&gt;stars&lt;/a&gt; (aka "likes") than any other repository of ours&lt;/li&gt;
&lt;li&gt;OpenSceneGraph project leader Robert Osfield said &lt;a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html"&gt;"Great work"&lt;/a&gt;, which means a lot&lt;/li&gt;
&lt;li&gt;The guide already has &lt;a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues"&gt;two issues&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.&lt;/p&gt;
&lt;p&gt;However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we &lt;a href="http://opengamestudio.org/lang/en/news/2456"&gt;promised in January&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.&lt;/p&gt;</content></entry><entry><title>iOS tutorial</title><link href="https://ogstudio.github.io/ios-tutorial.html" rel="alternate"></link><published>2017-06-08T10:00:00+07:00</published><updated>2017-06-08T10:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-08:/ios-tutorial.html</id><summary type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
&lt;p&gt;This article describes problems we faced during the creation of iOS tutorial in May 2017.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/OpenGameStudio/status/826816343433498627"&gt;This February&lt;/a&gt; we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"&gt;&lt;/p&gt;
&lt;p&gt;This article describes problems we faced during the creation of iOS tutorial in May 2017.&lt;/p&gt;


+ 39
- 58
index.html View File

@@ -48,50 +48,30 @@

<article>
<a href="https://ogstudio.github.io/ios-tutorial.html"><h3 class="article-title">iOS tutorial</h3></a>
<h6 class="subheader" title="2017-06-08T10:00:00+07:00">Thu 08 June 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/ios-tutorial-ru.html">ru</a>

</h6><p><img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up with a hackish demo that works for one person, but it's hard to create a concise example that works for everyone.</p>
<h3>Native library</h3>
<p>The first question we had to answer was: should the sample application be part of Xcode project or be a separately built library?</p>
<p>We had to consider the following facts:</p>
<a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html"><h3 class="article-title">OpenSceneGraph cross-platform guide</h3></a>
<h6 class="subheader" title="2017-07-01T00:00:00+07:00">Sat 01 July 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html">ru</a>

</h6><p><img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"></p>
<p>This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.</p>
<p>June marked the finish of <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> with the publishing of the last (initially planned) tutorial. The tutorial describes <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb">how to build and run sample OpenSceneGraph application in Web</a> using Emscripten.
In case you missed it, here's a <a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/">link to the final application</a>. Open it in your web browser.</p>
<p>We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.</p>
<p>We have been doing OpenSceneGraph cross-platform guide for two main reasons:</p>
<ol>
<li>Xcode project can use C++ directly (thanks to Objective-C++) without stuff like JNI<ul>
<li>There's no need for a separate library (+ application)</li>
<li>Creating a separate library is an additional work (- library)</li>
</ul>
</li>
<li>OpenSceneGraph builds libraries<ul>
<li>It's easier to use standard build process (+ library)</li>
<li>It's harder to create custom build process just for a single platform (- application)</li>
</ul>
</li>
<li>OpenSceneGraph uses CMake build system, which is not supported by Xcode<ul>
<li>Xcode project can't include CMake files (- application)</li>
<li>It's easy to create custom CMake file that includes OpenSceneGraph CMake file to build a single library (+ library)</li>
</ul>
</li>
<li>CMake can generate Xcode project<ul>
<li>It's possible to create a CMake file that builds both OpenSceneGraph and the sample application (+ application)</li>
<li>Xcode is the de-facto tool to create Xcode projects; it's easier to use standard build process (+ library)</li>
</ul>
</li>
<li>Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form</li>
<li>Share the knowledge with OpenSceneGraph community to make it stronger</li>
</ol>
<p>After evaluating the pros and cons of each approach, we decided to turn the sample application into a library and include it in Xcode project. The downside of this approach is that simulator and real device builds need separate library builds.</p>
<h3>Refactoring</h3>
<p>The second question we had to answer was: should there be a single source code base for all platforms or several ones, one for each platform?</p>
<p>While doing Android tutorial we used single source code base because it worked fine for desktop and Android. As we started to work through iOS tutorial, it became apparent that particular features may or may not work on some platforms. For example, one feature may work on desktop and iOS, but not Android. Another feature may work on iOS and Android, but not desktop. Since we didn't want to pollute the code with #ifdefs, we started to put each platform combination into a separate file. The number of files grew rapidly. The files were reusable, but it became extremely hard to see the whole picture.</p>
<p>At this point, we realized there's the second question. We reminded ourselves that the main purpose of the sample source code is to teach how to do basic OpenSceneGraph things, not create a reusable library with API that is stable across several years.</p>
<p>That's when our home grown feature tool came into play. With its help, we separated the code into several parts, which in the end produce just two files for each platform:</p>
<p>We believe we succeeded in both. Here's why:</p>
<ol>
<li>functions.h - contains reusable classless functions</li>
<li>main.h - contains the rest of the sample application code</li>
<li>The guide repository has more <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers">stars</a> (aka "likes") than any other repository of ours</li>
<li>OpenSceneGraph project leader Robert Osfield said <a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html">"Great work"</a>, which means a lot</li>
<li>The guide already has <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues">two issues</a></li>
</ol>
<p>Their contents differ slightly for each platform, but it's easy to see the whole picture now.</p>
<p>That's it for describing problems we faced during the creation of iOS tutorial in May 2017.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>
<p>Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.</p>
<p>However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we <a href="http://opengamestudio.org/lang/en/news/2456">promised in January</a>.</p>
<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>

@@ -105,6 +85,25 @@


<article>
<a href="https://ogstudio.github.io/ios-tutorial.html"><h3 class="article-title">iOS tutorial</h3></a>
<h6 class="subheader" title="2017-06-08T10:00:00+07:00">Thu 08 June 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/ios-tutorial-ru.html">ru</a>

</h6><p><img alt="iOS tutorial" src="https://ogstudio.github.io/2017-06-08-ios-refactoring.png"></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up …</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/news.html">News</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/ios-tutorial.html">Read More</a>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/pelican-review.html"><h3 class="article-title">Pelican review</h3></a>
<h6 class="subheader" title="2017-06-03T22:00:00+07:00">Sat 03 June 2017
@@ -247,24 +246,6 @@ to get up and running real fast.</p>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/kr4.html"><h3 class="article-title">kr4</h3></a>
<h6 class="subheader" title="2017-01-01T04:04:00+07:00">Sun 01 January 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/kr4-ru.html">ru</a>

</h6><p>kr4</p>
<p>LANG: en</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/review.html">Review</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/kr4.html">Read More</a>
<hr class="gradient"/>
</article>

<!-- /#posts-list -->
<div class="pagination-centered">
<h6 class="subheader">Page 1 of 2</h6>


+ 18
- 0
index2.html View File

@@ -48,6 +48,24 @@


<article>
<a href="https://ogstudio.github.io/kr4.html"><h3 class="article-title">kr4</h3></a>
<h6 class="subheader" title="2017-01-01T04:04:00+07:00">Sun 01 January 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/kr4-ru.html">ru</a>

</h6><p>kr4</p>
<p>LANG: en</p><p class="subheader">Category: <a href="https://ogstudio.github.io/category/review.html">Review</a>

</p>


<a class="button radius secondary small right" href="https://ogstudio.github.io/kr4.html">Read More</a>
<hr class="gradient"/>
</article>



<article>
<a href="https://ogstudio.github.io/kr3.html"><h3 class="article-title">kr3</h3></a>
<h6 class="subheader" title="2017-01-01T03:04:00+07:00">Sun 01 January 2017


+ 131
- 0
openscenegraph-cross-platform-guide-ru.html View File

@@ -0,0 +1,131 @@
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width" />

<title>OpenSceneGraph cross-platform guide</title>

<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/normalize.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/foundation.min.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/style.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/pygments.css" />
<script src="https://ogstudio.github.io/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="https://ogstudio.github.io">Opensource Game Studio</a></h1>
</div>
</div>
<div class="row top-menu">
<div class="large-12 columns">
<a href="/pages/projects.html" class="menu-button secondary">Projects</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="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html" rel="bookmark"
title="Permalink to OpenSceneGraph cross-platform guide">OpenSceneGraph cross-platform guide</a></h3>
</header>

<h6 class="subheader" title="2017-07-01T00:00:00+07:00">Sat 01 July 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html">en</a>

</h6> <p><img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"></p>
<p>Эта статья резюмирует создание кросс-платформенного руководства OpenSceneGraph.</p>
<p>Июнь ознаменовал собой окончание работы над <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">кросс-платформенным руководством OpenSceneGraph</a>. Мы опубликовали последний самоучитель (из изначально запланированных). Этот самоучитель описывает <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb">сборку и запуск примера приложения OpenSceneGraph в вебе</a> с помощью Emscripten.
Если вы упустили этот самоучитель, то вот <a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/">ссылка на приложение</a> из него. Откройте ссылку в веб-браузере.</p>
<p>Мы начали составление руководства в феврале, как только нам удалось отобразить простую модель на мобилках и вебе.
Мы потратили 120 часов за пять месяцев на составление десяти самоучителей этого руководства.</p>
<p>Создание кросс-платформенного руководства OpenSceneGraph преследовало две основные цели:</p>
<ol>
<li>Сохранить знания о кросс-платформенной работе с OpenSceneGraph в легкодоступной и воспроизводимой форме</li>
<li>Поделиться этим знанием с сообществом OpenSceneGraph и тем самым усилить сообщество</li>
</ol>
<p>Мы уверены в том, что нам удалось достичь обе цели. И вот почему:</p>
<ol>
<li>Хранилище руководства получило больше <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers">звёзд</a> (лайков), чем любое другое наше хранилище</li>
<li>Robert Osfield, лидер проекта OpenSceneGraph, оценил руководство как <a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html">"отличную работу"</a>; это значит для нас многое</li></li>
<li>У руководства уже есть <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues">два тикета</a></li>
</ol>
<p>В конце концов, мы просто рады тому факту, что изучили кросс-платформенную разработку с OpenSceneGraph и поделились этим знанием с сообществом.</p>
<p>Тем не менее, наше путешествие на этом не окончено. Используя знания руководства, мы продолжаем работу над тем, чтобы добавить в свои инструменты поддержку мобилок и веба, как мы <a href="http://opengamestudio.org/lang/ru/news/2456">обещали в январе</a>.</p>
<p>На этом мы заканчиваем резюме о создании кросс-платформенного руководства OpenSceneGraph.</p>
<p class="subheader">Category: <a href="https://ogstudio.github.io/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="https://ogstudio.github.io/archives.html">Archives</a>
<li><a href="https://ogstudio.github.io/tags.html">Tags</a>


<li><a href="https://ogstudio.github.io/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
</ul>

<h5 class="sidebar-title">Categories</h5>
<ul class="side-nav">
<li><a href="https://ogstudio.github.io/category/news.html">News</a></li>
<li><a href="https://ogstudio.github.io/category/review.html">Review</a></li>
</ul>
-->


<h5 class="sidebar-title">Projects</h5>
<ul class="side-nav">
<li><a href="/pages/ogs-mahjong.html">OGS Mahjong</a></li>
<li><a href="/pages/ogs-editor.html">OGS Editor</a></li>
<li><a href="/pages/openscenegraph-guide.html">OpenSceneGraph guide</a></li>
</ul>

</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>
</footer>

+ 131
- 0
openscenegraph-cross-platform-guide.html View File

@@ -0,0 +1,131 @@
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width" />

<title>OpenSceneGraph cross-platform guide</title>

<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/normalize.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/foundation.min.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/style.css" />
<link rel="stylesheet" href="https://ogstudio.github.io/theme/css/pygments.css" />
<script src="https://ogstudio.github.io/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="https://ogstudio.github.io">Opensource Game Studio</a></h1>
</div>
</div>
<div class="row top-menu">
<div class="large-12 columns">
<a href="/pages/projects.html" class="menu-button secondary">Projects</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="https://ogstudio.github.io/openscenegraph-cross-platform-guide.html" rel="bookmark"
title="Permalink to OpenSceneGraph cross-platform guide">OpenSceneGraph cross-platform guide</a></h3>
</header>

<h6 class="subheader" title="2017-07-01T00:00:00+07:00">Sat 01 July 2017
<a class="button secondary small translation-button" href="https://ogstudio.github.io/openscenegraph-cross-platform-guide-ru.html">ru</a>

</h6> <p><img alt="OpenSceneGraph guide" src="https://ogstudio.github.io/2017-07-openscenegraph-guide.png"></p>
<p>This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.</p>
<p>June marked the finish of <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> with the publishing of the last (initially planned) tutorial. The tutorial describes <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb">how to build and run sample OpenSceneGraph application in Web</a> using Emscripten.
In case you missed it, here's a <a href="https://ogstudio.github.io/openscenegraph-cross-platform-guide/">link to the final application</a>. Open it in your web browser.</p>
<p>We started to compose the guide in February when we successfully managed to render a simple model on mobile and web.
We spent 120 hours in five months to produce ten tutorials of the guide.</p>
<p>We have been doing OpenSceneGraph cross-platform guide for two main reasons:</p>
<ol>
<li>Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form</li>
<li>Share the knowledge with OpenSceneGraph community to make it stronger</li>
</ol>
<p>We believe we succeeded in both. Here's why:</p>
<ol>
<li>The guide repository has more <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers">stars</a> (aka "likes") than any other repository of ours</li>
<li>OpenSceneGraph project leader Robert Osfield said <a href="http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html">"Great work"</a>, which means a lot</li>
<li>The guide already has <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues">two issues</a></li>
</ol>
<p>Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.</p>
<p>However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support mobile and web, just as we <a href="http://opengamestudio.org/lang/en/news/2456">promised in January</a>.</p>
<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p>
<p class="subheader">Category: <a href="https://ogstudio.github.io/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="https://ogstudio.github.io/archives.html">Archives</a>
<li><a href="https://ogstudio.github.io/tags.html">Tags</a>


<li><a href="https://ogstudio.github.io/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
</ul>

<h5 class="sidebar-title">Categories</h5>
<ul class="side-nav">
<li><a href="https://ogstudio.github.io/category/news.html">News</a></li>
<li><a href="https://ogstudio.github.io/category/review.html">Review</a></li>
</ul>
-->


<h5 class="sidebar-title">Projects</h5>
<ul class="side-nav">
<li><a href="/pages/ogs-mahjong.html">OGS Mahjong</a></li>
<li><a href="/pages/ogs-editor.html">OGS Editor</a></li>
<li><a href="/pages/openscenegraph-guide.html">OpenSceneGraph guide</a></li>
</ul>

</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>
</footer>

Loading…
Cancel
Save