From 9c70de94677e7d7ae8d20b032b24c46014b1d352 Mon Sep 17 00:00:00 2001 From: Michael Kapelko Date: Fri, 24 Nov 2017 03:01:03 +0700 Subject: [PATCH] Generate 2017-05 public --- 2017-05_osg-sample.png | Bin 0 -> 153412 bytes 2017-summary-ru.html | 5 +- 2017-summary.html | 5 +- archives.html | 17 +-- author/opensource-game-studio.html | 47 +++--- back-to-the-static-ru.html | 5 +- back-to-the-static.html | 5 +- categories.html | 2 - category/news.html | 54 ++++--- feeds/all.atom.xml | 141 +++++++++-------- feeds/news.atom.xml | 71 +++++---- index.html | 47 +++--- ios-tutorial-ru.html | 5 +- ios-tutorial.html | 5 +- mjin-world-birth-ru.html | 5 +- mjin-world-birth.html | 5 +- openscenegraph-cross-platform-guide-ru.html | 5 +- openscenegraph-cross-platform-guide.html | 5 +- osg-sample-ru.html | 161 ++++++++++++++++++++ osg-sample.html | 161 ++++++++++++++++++++ pages/about-ru.html | 1 - pages/about.html | 1 - pages/projects-ru.html | 1 - pages/projects.html | 1 - scripting-research-ru.html | 5 +- scripting-research.html | 5 +- tags.html | 1 - 27 files changed, 560 insertions(+), 206 deletions(-) create mode 100644 2017-05_osg-sample.png create mode 100644 osg-sample-ru.html create mode 100644 osg-sample.html diff --git a/2017-05_osg-sample.png b/2017-05_osg-sample.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9937659a5bd5d1f009a3c1ff1f50c3a01d4c6a GIT binary patch literal 153412 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 &0nSbPPG-fot@rE$V_lb$w5x1SYl4LxI6RN?dMf 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 literal 0 HcmV?d00001 diff --git a/2017-summary-ru.html b/2017-summary-ru.html index 8eb67af..76f6aaa 100644 --- a/2017-summary-ru.html +++ b/2017-summary-ru.html @@ -50,10 +50,10 @@ title="Permalink to Итоги 2017-го">Итоги 2017-го -

Wed 22 November 2017 +
Ср 22 Ноябрь 2017 en -

Screenshot

+

Screenshot

Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.

Краткая история

Проекту Opensource Game Studio уже 12 лет.

@@ -96,7 +96,6 @@ --> diff --git a/2017-summary.html b/2017-summary.html index 0104484..c32dbd9 100644 --- a/2017-summary.html +++ b/2017-summary.html @@ -50,10 +50,10 @@ title="Permalink to 2017 summary">2017 summary -
Wed 22 November 2017 +
Ср 22 Ноябрь 2017 ru -

Screenshot

+

Screenshot

It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.

Brief history

Opensource Game Studio project is 12 years old now.

@@ -97,7 +97,6 @@ The project was in a constant turmoil because we had no clear purpose and discip --> diff --git a/archives.html b/archives.html index 550d0a2..2821a16 100644 --- a/archives.html +++ b/archives.html @@ -50,32 +50,32 @@ - + - + - + - + - + - + - - + +
Wed 22 November 2017Ср 22 Ноябрь 2017 2017 summary
Mon 16 October 2017Пн 16 Октябрь 2017 Back to the Static
Sun 10 September 2017Вс 10 Сентябрь 2017 The birth of MJIN world
Wed 16 August 2017Ср 16 Август 2017 Scripting research
Mon 17 July 2017Пн 17 Июль 2017 OpenSceneGraph cross-platform guide
Thu 08 June 2017Чт 08 Июнь 2017 iOS tutorial
Sat 03 June 2017StubПт 12 Май 2017OpenSceneGraph sample
@@ -99,7 +99,6 @@ --> diff --git a/author/opensource-game-studio.html b/author/opensource-game-studio.html index acc10dc..de7bae3 100644 --- a/author/opensource-game-studio.html +++ b/author/opensource-game-studio.html @@ -49,10 +49,10 @@

2017 summary

-
Wed 22 November 2017 +
Ср 22 Ноябрь 2017 ru -

Screenshot

+

Screenshot

It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.

Brief history

Opensource Game Studio project is 12 years old now.

@@ -85,13 +85,13 @@ The project was in a constant turmoil because we had no clear purpose and discip

Back to the Static

-
Mon 16 October 2017 +
Пн 16 Октябрь 2017 ru -

Back to the Static

+

Back to the Static

We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. -It seems that this is the technology capable of …

Category: News +It seems that this is the technology ...

Category: News

@@ -105,10 +105,10 @@ It seems that this is the technology capable of …

Cate

The birth of MJIN world

-
Sun 10 September 2017 +
Вс 10 Сентябрь 2017 ru -

The birth of MJIN world

+

The birth of MJIN world

This article describes the birth of MJIN world in August 2017.

mjin-player

As you know, we spent July to research scripting. We found a solution that satisfies the following criteria. Scripts should:

@@ -116,7 +116,7 @@ It seems that this is the technology capable of …

Cate

  • run unchanged on all supported platforms
  • allow extending C++ code
  • -

    We have verified the second criterion by writing …

    Category: News +

    We have verified the second criterion by writing ...

    Category: News

    @@ -130,13 +130,13 @@ It seems that this is the technology capable of …

    Cate

    Scripting research

    -
    Wed 16 August 2017 +
    Ср 16 Август 2017 ru -

    Scripting research

    +

    Scripting research

    This article describes scripting research in July 2017.

    Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

    -

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any …

    Category: News +

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any ...

    Category: News

    @@ -150,13 +150,13 @@ It seems that this is the technology capable of …

    Cate

    OpenSceneGraph cross-platform guide

    -
    Mon 17 July 2017 +
    Пн 17 Июль 2017 ru -

    OpenSceneGraph guide

    +

    OpenSceneGraph guide

    This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.

    June marked the finish of OpenSceneGraph cross-platform guide with the publishing of the last (initially planned) tutorial. The tutorial describes how to build and run sample OpenSceneGraph application in Web using Emscripten. -In case you missed it, here's …

    Category: News +In case you missed it, here ...

    Category: News

    @@ -170,12 +170,12 @@ In case you missed it, here's …

    Category:

    iOS tutorial

    -
    Thu 08 June 2017 +
    Чт 08 Июнь 2017 ru -

    iOS tutorial

    +

    iOS tutorial

    This article describes problems we faced during the creation of iOS tutorial in May 2017.

    -

    This February 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 …

    Category: News +

    This February 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 ...

    Category: News

    @@ -188,16 +188,18 @@ In case you missed it, here's …

    Category:

    Stub

    -
    Sat 03 June 2017 - ru +

    OpenSceneGraph sample

    +
    Пт 12 Май 2017 + ru -

    TODO Import previous Opensource Game Studio articles from Wordpress.

    Category: Stub +

    OSG sample

    +

    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 ...

    Category: News

    - Read More + Read More
    @@ -229,7 +231,6 @@ In case you missed it, here's …

    Category: Categories

    --> diff --git a/back-to-the-static-ru.html b/back-to-the-static-ru.html index 0b40f67..9aa79df 100644 --- a/back-to-the-static-ru.html +++ b/back-to-the-static-ru.html @@ -50,10 +50,10 @@ title="Permalink to Назад в Статику">Назад в Статику -
    Mon 16 October 2017 +
    Пн 16 Октябрь 2017 en -

    Назад в Статику

    +

    Назад в Статику

    Мы используем Wordpress в качестве движка нашего сайта уже более семи лет. И теперь пришло время двигаться вперед. Или назад. Некоторое время мы следили за разработкой нового поколения движков - генераторов статических сайтов. Похоже, что это технология, способная превратить прошлое в будущее.

    @@ -86,7 +86,6 @@ --> diff --git a/back-to-the-static.html b/back-to-the-static.html index 6cd0afb..8306dde 100644 --- a/back-to-the-static.html +++ b/back-to-the-static.html @@ -50,10 +50,10 @@ title="Permalink to Back to the Static">Back to the Static -
    Mon 16 October 2017 +
    Пн 16 Октябрь 2017 ru -

    Back to the Static

    +

    Back to the Static

    We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. It seems that this is the technology capable of changing past into future.

    @@ -86,7 +86,6 @@ Right now it doesn't have all the content from our old site, but we'll add most --> diff --git a/categories.html b/categories.html index f2c3082..d0cf2cb 100644 --- a/categories.html +++ b/categories.html @@ -46,7 +46,6 @@ @@ -67,7 +66,6 @@ --> diff --git a/category/news.html b/category/news.html index 8fff854..c1f764c 100644 --- a/category/news.html +++ b/category/news.html @@ -49,10 +49,10 @@

    2017 summary

    -
    Wed 22 November 2017 +
    Ср 22 Ноябрь 2017 ru -

    Screenshot

    +

    Screenshot

    It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.

    Brief history

    Opensource Game Studio project is 12 years old now.

    @@ -85,13 +85,13 @@ The project was in a constant turmoil because we had no clear purpose and discip

    Back to the Static

    -
    Mon 16 October 2017 +
    Пн 16 Октябрь 2017 ru -

    Back to the Static

    +

    Back to the Static

    We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. -It seems that this is the technology capable of …

    Category: News +It seems that this is the technology ...

    Category: News

    @@ -105,10 +105,10 @@ It seems that this is the technology capable of …

    Cate

    The birth of MJIN world

    -
    Sun 10 September 2017 +
    Вс 10 Сентябрь 2017 ru -

    The birth of MJIN world

    +

    The birth of MJIN world

    This article describes the birth of MJIN world in August 2017.

    mjin-player

    As you know, we spent July to research scripting. We found a solution that satisfies the following criteria. Scripts should:

    @@ -116,7 +116,7 @@ It seems that this is the technology capable of …

    Cate

  • run unchanged on all supported platforms
  • allow extending C++ code
  • -

    We have verified the second criterion by writing …

    Category: News +

    We have verified the second criterion by writing ...

    Category: News

    @@ -130,13 +130,13 @@ It seems that this is the technology capable of …

    Cate

    Scripting research

    -
    Wed 16 August 2017 +
    Ср 16 Август 2017 ru -

    Scripting research

    +

    Scripting research

    This article describes scripting research in July 2017.

    Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

    -

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any …

    Category: News +

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any ...

    Category: News

    @@ -150,13 +150,13 @@ It seems that this is the technology capable of …

    Cate

    OpenSceneGraph cross-platform guide

    -
    Mon 17 July 2017 +
    Пн 17 Июль 2017 ru -

    OpenSceneGraph guide

    +

    OpenSceneGraph guide

    This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.

    June marked the finish of OpenSceneGraph cross-platform guide with the publishing of the last (initially planned) tutorial. The tutorial describes how to build and run sample OpenSceneGraph application in Web using Emscripten. -In case you missed it, here's …

    Category: News +In case you missed it, here ...

    Category: News

    @@ -170,12 +170,12 @@ In case you missed it, here's …

    Category:

    iOS tutorial

    -
    Thu 08 June 2017 +
    Чт 08 Июнь 2017 ru -

    iOS tutorial

    +

    iOS tutorial

    This article describes problems we faced during the creation of iOS tutorial in May 2017.

    -

    This February 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 …

    Category: News +

    This February 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 ...

    Category: News

    @@ -184,6 +184,25 @@ In case you missed it, here's …

    Category:

    + + + +
    +

    OpenSceneGraph sample

    +
    Пт 12 Май 2017 + ru + +

    OSG sample

    +

    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 ...

    Category: News + +

    + + + Read More +
    +
    +
    Page 1 of 1
    @@ -212,7 +231,6 @@ In case you missed it, here's …

    Category: Categories

    --> diff --git a/feeds/all.atom.xml b/feeds/all.atom.xml index c5eedfa..c839d37 100644 --- a/feeds/all.atom.xml +++ b/feeds/all.atom.xml @@ -1,9 +1,5 @@ -Opensource Game Studiohttp://opengamestudio.org/2017-11-22T00:00:00+03:002017 summary2017-11-22T00:00:00+03:002017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:/2017-summary.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> -<p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p> -<p><strong>Brief history</strong></p> -<p>Opensource Game Studio project is 12 years old now.</p> -<p><strong>2005.</strong> We started the project with a <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">fanatic call</a> to create the best game ever …</p><p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> +Opensource Game Studiohttp://opengamestudio.org/2017-11-22T00:00:00+03:002017 summary2017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:2017-summary.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png" /></p> <p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p> <p><strong>Brief history</strong></p> <p>Opensource Game Studio project is 12 years old now.</p> @@ -20,11 +16,7 @@ The project was in a constant turmoil because we had no clear purpose and discip <p>Researching mobile and web took us about five months. We spent that much time because there was no documentation on how to run OpenSceneGraph across platforms. We had to step in and create said documentation.</p> <p><strong>2017, July.</strong> We published <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a>, which describes how to create a simple OpenSceneGraph application and make it run on desktop, mobile, and web. To this date, this is our most popular GitHub repository.</p> <p><strong>2017, November.</strong> We published simple <a href="https://ogstudio.github.io/game-memory-colors/tutorial-5.3/mjin-player.html">Memory: Colors game</a> and the <a href="https://bitbucket.org/ogstudio-games/memory-colors">guide</a> on how to create the game from scratch. The game is powered by MJIN, our new cross-platform game toolset that we started this summer.</p> -<p>Currently MJIN toolset is in its infancy. MJIN needs a real game to flourish. That's why we are already working on cross-platform Mahjong. We'll do our best to make Mahjong faster this time.</p>Итоги 2017-го2017-11-22T00:00:00+03:002017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:/2017-summary-ru.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> -<p>Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.</p> -<p><strong>Краткая история</strong></p> -<p>Проекту Opensource Game Studio уже 12 лет.</p> -<p><strong>2005.</strong> Мы начали проект с <a href="https://unixforum.org/index.php?showtopic=9989">фанатичного призыва</a> к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind …</p><p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> +<p>Currently MJIN toolset is in its infancy. MJIN needs a real game to flourish. That's why we are already working on cross-platform Mahjong. We'll do our best to make Mahjong faster this time.</p>Итоги 2017-го2017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:2017-summary-ru.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png" /></p> <p>Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.</p> <p><strong>Краткая история</strong></p> <p>Проекту Opensource Game Studio уже 12 лет.</p> @@ -40,34 +32,19 @@ The project was in a constant turmoil because we had no clear purpose and discip <p>Изучение мобильных платформ и веба заняло у нас около пяти месяцев. Нам пришлось потратить это время по причине отсутствия какой-либо внятной документации по работе с OpenSceneGraph на разных платформах. После таких громадных трат времени мы решили сэкономить это время другим разработчикам и занялись созданием указанной документации.</p> <p><strong>2017, июль.</strong> Мы опубликовали <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">инструкцию по работе с OpenSceneGraph на разных платформах</a>, которая рассказывает в деталях о создании простейшего приложения OpenSceneGraph и запуске его на настольных компьютерах, мобильных платформах и вебе. Эта инструкция является нашим самым популярным проектом на GitHub.</p> <p><strong>2017, ноябрь.</strong> Мы выпустили простую <a href="https://ogstudio.github.io/game-memory-colors/tutorial-5.3/mjin-player.html">игру "Память: Цвета"</a> и <a href="https://bitbucket.org/ogstudio-games/memory-colors">инструкцию</a> по созданию этой игры с нуля. Игра создана с помощью MJIN, нашего нового инструмента для разработки игр, этому инструменту всего лишь несколько месяцев.</p> -<p>На текущий момент MJIN лишь начинает развитие. Этому инструменту нужна настоящая игра, чтобы расцвести. Поэтому мы уже работаем над Маджонгом, который будет радовать вас и на настольных компьютерах, и на мобильных платформах, и в вебе. На этот раз мы постараемся сделать Маджонг быстрее. </p>Back to the Static2017-10-16T00:00:00+03:002017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:/back-to-the-static.html<p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> -<p>We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. -For some time we've been tracking the development of the new breed of website engines - static site generators. -It seems that this is the technology capable of …</p><p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> +<p>На текущий момент MJIN лишь начинает развитие. Этому инструменту нужна настоящая игра, чтобы расцвести. Поэтому мы уже работаем над Маджонгом, который будет радовать вас и на настольных компьютерах, и на мобильных платформах, и в вебе. На этот раз мы постараемся сделать Маджонг быстрее. </p>Back to the Static2017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:back-to-the-static.html<p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png" /></p> <p>We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. It seems that this is the technology capable of changing past into future.</p> <p>A static website is more straightforward, quicker and more secure. And with the help of generators, it is also as easy to manage, as the dynamic website. So, we are starting our site anew with the help of the <a href="https://blog.getpelican.com/">Pelican</a>. -Right now it doesn't have all the content from our old site, but we'll add most of it soon.</p>Назад в Статику2017-10-16T00:00:00+03:002017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:/back-to-the-static-ru.html<p><img alt="Назад в Статику" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> -<p>Мы используем Wordpress в качестве движка нашего сайта уже более семи лет. И теперь пришло время двигаться вперед. Или назад. -Некоторое время мы следили за разработкой нового поколения движков - генераторов статических сайтов. -Похоже, что это технология, способная превратить прошлое в будущее.</p> -<p>Статический веб-сайт проще, быстрее и безопаснее. И с помощью …</p><p><img alt="Назад в Статику" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> +Right now it doesn't have all the content from our old site, but we'll add most of it soon.</p>Назад в Статику2017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:back-to-the-static-ru.html<p><img alt="Назад в Статику" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png" /></p> <p>Мы используем Wordpress в качестве движка нашего сайта уже более семи лет. И теперь пришло время двигаться вперед. Или назад. Некоторое время мы следили за разработкой нового поколения движков - генераторов статических сайтов. Похоже, что это технология, способная превратить прошлое в будущее.</p> <p>Статический веб-сайт проще, быстрее и безопаснее. И с помощью генераторов им настолько же легко управлять, как и динамическим веб-сайтом. Так что мы начинаем наш сайт заново с помощью [Pelican] (https://blog.getpelican.com/). -Сейчас здесь нет всего контента с нашего старого сайта, но мы добавим его в ближайшее время.</p>The birth of MJIN world2017-09-10T00:00:00+03:002017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:/mjin-world-birth.html<p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> -<p>This article describes the birth of MJIN world in August 2017.</p> -<p><strong>mjin-player</strong></p> -<p>As you know, <a href="http://opengamestudio.org/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p> -<ol> -<li>run unchanged on all supported platforms</li> -<li>allow extending C++ code</li> -</ol> -<p>We have verified the second criterion by writing …</p><p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> +Сейчас здесь нет всего контента с нашего старого сайта, но мы добавим его в ближайшее время.</p>The birth of MJIN world2017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:mjin-world-birth.html<p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png" /></p> <p>This article describes the birth of MJIN world in August 2017.</p> <p><strong>mjin-player</strong></p> <p>As you know, <a href="http://opengamestudio.org/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p> @@ -87,15 +64,7 @@ Right now it doesn't have all the content from our old site, but we'll add most <p>This set of rules for MJIN projects is packaged into <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application is a library that provides basic functionality every MJIN project would need and nothing more. For instance, mjin-application does not and will not contain scripting or any other specific functionality.</p> <p><strong>MJIN world</strong></p> <p>So what is <a href="https://bitbucket.org/ogstudio/mjin">MJIN world</a>? It's a set of projects that constitute our game development tools. mjin-player and mjin-application are the first bricks of the newly born MJIN world. A lot more to come. Stay tuned for the brighter MJIN future.</p> -<p>That's it for describing the birth of MJIN world in August 2017.</p>Рождение вселенной MJIN2017-09-10T00:00:00+03:002017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:/mjin-world-birth-ru.html<p><img alt="Рождение вселенной MJIN" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> -<p>Эта статья описывает рождение вселенной MJIN в августе 2017.</p> -<p><strong>mjin-player</strong></p> -<p>Как вы знаете, <a href="http://opengamestudio.org/scripting-research-ru.html">в июле мы изучали скриптование</a>. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:</p> -<ol> -<li>исполняться в исходном виде без изменений на всех поддерживаемых платформах</li> -<li>позволять расширять код C++</li> -</ol> -<p>Мы проверили второй критерий в рамках тестового приложения. В …</p><p><img alt="Рождение вселенной MJIN" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> +<p>That's it for describing the birth of MJIN world in August 2017.</p>Рождение вселенной MJIN2017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:mjin-world-birth-ru.html<p><img alt="Рождение вселенной MJIN" src="http://opengamestudio.org/2017-09-mjin-world-birth.png" /></p> <p>Эта статья описывает рождение вселенной MJIN в августе 2017.</p> <p><strong>mjin-player</strong></p> <p>Как вы знаете, <a href="http://opengamestudio.org/scripting-research-ru.html">в июле мы изучали скриптование</a>. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:</p> @@ -115,10 +84,7 @@ Right now it doesn't have all the content from our old site, but we'll add most <p>Этот набор правил представлен в виде <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application является библиотекой с базовым функционалом, необходимым для каждого проекта MJIN, но не более. Например, mjin-application не содержит и никогда не будет содержать скриптования или подобного специфического функционала.</p> <p><strong>Вселенная MJIN</strong></p> <p>Так что же такое <a href="https://bitbucket.org/ogstudio/mjin">вселенная MJIN</a>? Это множество проектов, которые являются нашими средствами для разработки игр. mjin-player и mjin-application - первые кирпичики недавно появившейся вселенной MJIN. А будет их намного больше. Оставайтесь на связи, нас ждёт светлое будущее с MJIN.</p> -<p>На этом мы заканчиваем описание рождения вселенной MJIN в августе 2017.</p>Scripting research2017-08-16T00:00:00+03:002017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:/scripting-research.html<p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> -<p>This article describes scripting research in July 2017.</p> -<p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p> -<p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any …</p><p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> +<p>На этом мы заканчиваем описание рождения вселенной MJIN в августе 2017.</p>Scripting research2017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:scripting-research.html<p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png" /></p> <p>This article describes scripting research in July 2017.</p> <p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p> <p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.</p> @@ -147,10 +113,7 @@ Next, we tried to inherit a class in Lua and override the class methods. We fail <p>That's when we understood it's a start for a long and mutual relationship with Sol2/Lua.</p> <p><strong>This search for a scripting language taught us one important lesson: people matter, not technologies.</strong></p> <p>There are lots of scripting languages that look shiny on the outside but are dead. Why? Because some authors don't have time for users. In return, users don't have time for the authors' projects.</p> -<p>That's it for describing scripting research in July 2017.</p>Изучение скриптования2017-08-16T00:00:00+03:002017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:/scripting-research-ru.html<p><img alt="Изучение скриптования" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> -<p>Эта статья описывает изучение скриптования в июле 2017.</p> -<p><strong>Наша основная цель использования скриптового языка - это наличие платформо-независимого кода, выполняемого без изменений на каждой поддерживаемой платформе.</strong></p> -<p>Редактор 0.10 использует Python в качестве подобного кода с помощью <a href="http://swig.org/">SWIG</a>. SWIG позволяет использовать практически любой код C/C++ из языков вроде Python, Ruby …</p><p><img alt="Изучение скриптования" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> +<p>That's it for describing scripting research in July 2017.</p>Изучение скриптования2017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:scripting-research-ru.html<p><img alt="Изучение скриптования" src="http://opengamestudio.org/2017-08-scripting-research.png" /></p> <p>Эта статья описывает изучение скриптования в июле 2017.</p> <p><strong>Наша основная цель использования скриптового языка - это наличие платформо-независимого кода, выполняемого без изменений на каждой поддерживаемой платформе.</strong></p> <p>Редактор 0.10 использует Python в качестве подобного кода с помощью <a href="http://swig.org/">SWIG</a>. SWIG позволяет использовать практически любой код C/C++ из языков вроде Python, Ruby, Lua, Java, C# и т.д.. SWIG помог нам впервые оценить прелесть платформо-независимого кода. К сожалению, SWIG работает лишь в одном направлении: из C/C++ в язык назначения. Это приводит к тому, что основное приложение должно быть написано на языке назначения, а код C/C++ может быть использован лишь в виде библиотеки.</p> @@ -177,10 +140,7 @@ Next, we tried to inherit a class in Lua and override the class methods. We fail <p>В тот момент мы поняли, что это начало долгого и взаимовыгодного сотрудничества с Sol2/Lua.</p> <p><strong>Поиск скриптового языка открыл для нас следующую истину: люди важнее технологий.</strong></p> <p>Существует множество скриптовых языков, которые выглядят привлекательно на первый взгляд, но которые мертвы. Почему? Потому что у некоторых авторов нет времени на пользователей. В ответ пользователи предпочитают не тратить своё время на проекты подобных авторов.</p> -<p>На этом мы заканчиваем описание изучения скриптования в июле 2017.</p>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:002017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:/openscenegraph-cross-platform-guide.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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 …</p><p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/2017-07-openscenegraph-guide.png"></p> +<p>На этом мы заканчиваем описание изучения скриптования в июле 2017.</p>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:openscenegraph-cross-platform-guide.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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> @@ -199,10 +159,7 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g </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>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:002017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:/openscenegraph-cross-platform-guide-ru.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/2017-07-openscenegraph-guide.png"></p> +<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:openscenegraph-cross-platform-guide-ru.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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> @@ -221,9 +178,7 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g </ol> <p>В конце концов, мы просто рады тому факту, что изучили кросс-платформенную разработку с OpenSceneGraph и поделились этим знанием с сообществом.</p> <p>Тем не менее, наше путешествие на этом не окончено. Используя знания руководства, мы продолжаем работу над тем, чтобы добавить в свои инструменты поддержку мобилок и веба, как мы <a href="http://opengamestudio.org/lang/ru/news/2456">обещали в январе</a>.</p> -<p>На этом мы заканчиваем резюме о создании кросс-платформенного руководства OpenSceneGraph.</p>iOS tutorial2017-06-08T10:00:00+03:002017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:/ios-tutorial.html<p><img alt="iOS tutorial" src="http://opengamestudio.org/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><img alt="iOS tutorial" src="http://opengamestudio.org/2017-06-08-ios-refactoring.png"></p> +<p>На этом мы заканчиваем резюме о создании кросс-платформенного руководства OpenSceneGraph.</p>iOS tutorial2017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:ios-tutorial.html<p><img alt="iOS tutorial" src="http://opengamestudio.org/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> @@ -262,9 +217,7 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g <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>Самоучитель iOS2017-06-08T10:00:00+03:002017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:/ios-tutorial-ru.html<p><img alt="Самоучитель iOS" src="http://opengamestudio.org/2017-06-08-ios-refactoring.png"></p> -<p>Эта статья описывает проблемы, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p> -<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">В феврале</a> мы сумели отобразить простую модель под iOS за считанные дни. Это дало нам уверенность, что самоучитель для iOS мы сделаем столь же быстро. Тем не менее, реальность напомнила нам о простой …</p><p><img alt="Самоучитель iOS" src="http://opengamestudio.org/2017-06-08-ios-refactoring.png"></p> +<p>That's it for describing problems we faced during the creation of iOS tutorial in May 2017.</p>Самоучитель iOS2017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:ios-tutorial-ru.html<p><img alt="Самоучитель iOS" src="http://opengamestudio.org/2017-06-08-ios-refactoring.png" /></p> <p>Эта статья описывает проблемы, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p> <p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">В феврале</a> мы сумели отобразить простую модель под iOS за считанные дни. Это дало нам уверенность, что самоучитель для iOS мы сделаем столь же быстро. Тем не менее, реальность напомнила нам о простой вещи: быстро сделать можно лишь поделку на коленке, работающую только у самого разработчика; над логически связанным примером, работающим у всех, придётся попотеть.</p> <h3>Нативная библиотека</h3> @@ -303,4 +256,72 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g <li>main.h - содержит остальной код приложения</li> </ol> <p>Их содержимое несколько отличается для каждой из платформ, но наличие всего двух файлов позволяет увидеть общую картину.</p> -<p>На этом мы заканчиваем описание проблем, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p>Stub2017-06-03T00:00:00+03:002017-06-03T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-03:/stub.html<p>TODO Import previous Opensource Game Studio articles from Wordpress.</p><p>TODO Import previous Opensource Game Studio articles from Wordpress.</p>Заглушка2017-06-03T00:00:00+03:002017-06-03T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-03:/stub-ru.html<p>TODO Импортировать предыдущие статьи Opensource Game Studio с Wordpress.</p><p>TODO Импортировать предыдущие статьи Opensource Game Studio с Wordpress.</p> \ No newline at end of file +<p>На этом мы заканчиваем описание проблем, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p>OpenSceneGraph sample2017-05-12T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-05-12:osg-sample.html<p><img alt="OSG sample" src="http://opengamestudio.org/2017-05_osg-sample.png" /></p> +<p>This article describes creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.</p> +<p>Previous tutorials described how to install OpenSceneGraph under Linux, macOS, Windows and render a model using the standard <strong>osgviewer</strong> tool. This time we worked on a <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide-application">sample OpenSceneGraph application</a> that would run under Linux, macOS, Windows, and Android.</p> +<p>The application is very basic and has the following features:</p> +<ol> +<li>Render window creation</li> +<li>Model loading</li> +<li>Model rendering with simple GLSL shaders</li> +<li>Model motion with a mouse under Linux, macOS, Windows and a finger under Android</li> +</ol> +<p>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.</p> +<p>Our <a href="http://www.opengame.epizy.com/lang/en/news/2414">first successful Android build</a> last year included hacks and non-obvious steps to make OpenSceneGraph run under Android. This time we wanted a cleaner, faster, and cheaper approach.</p> +<p>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.</p> +<p>Here's a quick rundown of the files:</p> +<ol> +<li>GLES2 surface</li> +<li>Render activity to render to the surface</li> +<li>Native library Java interface</li> +<li>Native library C++ implementation</li> +<li>CMake file to build native library</li> +<li>Render activity layout</li> +<li>Model to display</li> +</ol> +<p>Here's a quick rundown of the project changes:</p> +<ol> +<li>Update Android manifest to use GLES2 and render activity</li> +<li>Reference native library's CMake file in the project's CMake file</li> +</ol> +<p>OpenSceneGraph documentation suggests building OpenSceneGraph outside Android Studio with CMake. However, this approach has the following limitations:</p> +<ol> +<li>You have to build OpenSceneGraph for each target architecture</li> +<li>You have to manually copy/reference built OpenSceneGraph libraries into Android Studio project</li> +</ol> +<p>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.</p> +<p>That's it for describing the creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.</p>Приложение OpenSceneGraph2017-05-12T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-05-12:osg-sample-ru.html<p><img alt="OSG sample" src="http://opengamestudio.org/2017-05_osg-sample.png" /></p> +<p>Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.</p> +<p>Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента <strong>osgviewer</strong>. На этот раз результатом нашей работы стало <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide-application">приложение OpenSceneGraph</a>, которое работает на Linux, macOS, Windows и Android.</p> +<p>Приложение очень простое. Оно умеет следующее:</p> +<ol> +<li>Создание окна для отрисовки</li> +<li>Загрузка модели</li> +<li>Отрисовка модели с помощью простых шейдеров GLSL</li> +<li>Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android</li> +</ol> +<p>Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.</p> +<p>Наша <a href="http://www.opengame.epizy.com/lang/ru/news/2414">первая успешная сборка под Android</a> в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.</p> +<p>Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).</p> +<p>Краткий перечень файлов:</p> +<ol> +<li>Поверхность GLES2</li> +<li>Activity для отрисовки на этой поверхности</li> +<li>Интерфейс Java для нативной библиотеки</li> +<li>Реализация нативной библиотеки на C++</li> +<li>Файл CMake для сборки нативной библиотеки</li> +<li>Activity layout</li> +<li>Модель для отрисовки</li> +</ol> +<p>Краткий перечень изменений проекта:</p> +<ol> +<li>Обновление Android manifest для использования GLES2 и Activity</li> +<li>Использование файла CMake нативной библиотеки в проектном файле CMake</li> +</ol> +<p>Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:</p> +<ol> +<li>Ручная сборка OpenSceneGraph под каждую платформу</li> +<li>Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio</li> +</ol> +<p>Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.</p> +<p>На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.</p> \ No newline at end of file diff --git a/feeds/news.atom.xml b/feeds/news.atom.xml index c742e8a..a27614a 100644 --- a/feeds/news.atom.xml +++ b/feeds/news.atom.xml @@ -1,9 +1,5 @@ -Opensource Game Studio - Newshttp://opengamestudio.org/2017-11-22T00:00:00+03:002017 summary2017-11-22T00:00:00+03:002017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:/2017-summary.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> -<p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p> -<p><strong>Brief history</strong></p> -<p>Opensource Game Studio project is 12 years old now.</p> -<p><strong>2005.</strong> We started the project with a <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">fanatic call</a> to create the best game ever …</p><p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p> +Opensource Game Studiohttp://opengamestudio.org/2017-11-22T00:00:00+03:002017 summary2017-11-22T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-11-22:2017-summary.html<p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png" /></p> <p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p> <p><strong>Brief history</strong></p> <p>Opensource Game Studio project is 12 years old now.</p> @@ -20,24 +16,13 @@ The project was in a constant turmoil because we had no clear purpose and discip <p>Researching mobile and web took us about five months. We spent that much time because there was no documentation on how to run OpenSceneGraph across platforms. We had to step in and create said documentation.</p> <p><strong>2017, July.</strong> We published <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a>, which describes how to create a simple OpenSceneGraph application and make it run on desktop, mobile, and web. To this date, this is our most popular GitHub repository.</p> <p><strong>2017, November.</strong> We published simple <a href="https://ogstudio.github.io/game-memory-colors/tutorial-5.3/mjin-player.html">Memory: Colors game</a> and the <a href="https://bitbucket.org/ogstudio-games/memory-colors">guide</a> on how to create the game from scratch. The game is powered by MJIN, our new cross-platform game toolset that we started this summer.</p> -<p>Currently MJIN toolset is in its infancy. MJIN needs a real game to flourish. That's why we are already working on cross-platform Mahjong. We'll do our best to make Mahjong faster this time.</p>Back to the Static2017-10-16T00:00:00+03:002017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:/back-to-the-static.html<p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> -<p>We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. -For some time we've been tracking the development of the new breed of website engines - static site generators. -It seems that this is the technology capable of …</p><p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p> +<p>Currently MJIN toolset is in its infancy. MJIN needs a real game to flourish. That's why we are already working on cross-platform Mahjong. We'll do our best to make Mahjong faster this time.</p>Back to the Static2017-10-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-10-16:back-to-the-static.html<p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png" /></p> <p>We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. It seems that this is the technology capable of changing past into future.</p> <p>A static website is more straightforward, quicker and more secure. And with the help of generators, it is also as easy to manage, as the dynamic website. So, we are starting our site anew with the help of the <a href="https://blog.getpelican.com/">Pelican</a>. -Right now it doesn't have all the content from our old site, but we'll add most of it soon.</p>The birth of MJIN world2017-09-10T00:00:00+03:002017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:/mjin-world-birth.html<p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> -<p>This article describes the birth of MJIN world in August 2017.</p> -<p><strong>mjin-player</strong></p> -<p>As you know, <a href="http://opengamestudio.org/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p> -<ol> -<li>run unchanged on all supported platforms</li> -<li>allow extending C++ code</li> -</ol> -<p>We have verified the second criterion by writing …</p><p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p> +Right now it doesn't have all the content from our old site, but we'll add most of it soon.</p>The birth of MJIN world2017-09-10T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-09-10:mjin-world-birth.html<p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png" /></p> <p>This article describes the birth of MJIN world in August 2017.</p> <p><strong>mjin-player</strong></p> <p>As you know, <a href="http://opengamestudio.org/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p> @@ -57,10 +42,7 @@ Right now it doesn't have all the content from our old site, but we'll add most <p>This set of rules for MJIN projects is packaged into <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application is a library that provides basic functionality every MJIN project would need and nothing more. For instance, mjin-application does not and will not contain scripting or any other specific functionality.</p> <p><strong>MJIN world</strong></p> <p>So what is <a href="https://bitbucket.org/ogstudio/mjin">MJIN world</a>? It's a set of projects that constitute our game development tools. mjin-player and mjin-application are the first bricks of the newly born MJIN world. A lot more to come. Stay tuned for the brighter MJIN future.</p> -<p>That's it for describing the birth of MJIN world in August 2017.</p>Scripting research2017-08-16T00:00:00+03:002017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:/scripting-research.html<p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> -<p>This article describes scripting research in July 2017.</p> -<p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p> -<p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any …</p><p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png"></p> +<p>That's it for describing the birth of MJIN world in August 2017.</p>Scripting research2017-08-16T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-08-16:scripting-research.html<p><img alt="Scripting research" src="http://opengamestudio.org/2017-08-scripting-research.png" /></p> <p>This article describes scripting research in July 2017.</p> <p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p> <p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.</p> @@ -89,10 +71,7 @@ Next, we tried to inherit a class in Lua and override the class methods. We fail <p>That's when we understood it's a start for a long and mutual relationship with Sol2/Lua.</p> <p><strong>This search for a scripting language taught us one important lesson: people matter, not technologies.</strong></p> <p>There are lots of scripting languages that look shiny on the outside but are dead. Why? Because some authors don't have time for users. In return, users don't have time for the authors' projects.</p> -<p>That's it for describing scripting research in July 2017.</p>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:002017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:/openscenegraph-cross-platform-guide.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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 …</p><p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/2017-07-openscenegraph-guide.png"></p> +<p>That's it for describing scripting research in July 2017.</p>OpenSceneGraph cross-platform guide2017-07-17T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-07-17:openscenegraph-cross-platform-guide.html<p><img alt="OpenSceneGraph guide" src="http://opengamestudio.org/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> @@ -111,9 +90,7 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g </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>iOS tutorial2017-06-08T10:00:00+03:002017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:/ios-tutorial.html<p><img alt="iOS tutorial" src="http://opengamestudio.org/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><img alt="iOS tutorial" src="http://opengamestudio.org/2017-06-08-ios-refactoring.png"></p> +<p>That's it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.</p>iOS tutorial2017-06-08T10:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-06-08:ios-tutorial.html<p><img alt="iOS tutorial" src="http://opengamestudio.org/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> @@ -152,4 +129,38 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g <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> \ No newline at end of file +<p>That's it for describing problems we faced during the creation of iOS tutorial in May 2017.</p>OpenSceneGraph sample2017-05-12T00:00:00+03:00Opensource Game Studiotag:opengamestudio.org,2017-05-12:osg-sample.html<p><img alt="OSG sample" src="http://opengamestudio.org/2017-05_osg-sample.png" /></p> +<p>This article describes creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.</p> +<p>Previous tutorials described how to install OpenSceneGraph under Linux, macOS, Windows and render a model using the standard <strong>osgviewer</strong> tool. This time we worked on a <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide-application">sample OpenSceneGraph application</a> that would run under Linux, macOS, Windows, and Android.</p> +<p>The application is very basic and has the following features:</p> +<ol> +<li>Render window creation</li> +<li>Model loading</li> +<li>Model rendering with simple GLSL shaders</li> +<li>Model motion with a mouse under Linux, macOS, Windows and a finger under Android</li> +</ol> +<p>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.</p> +<p>Our <a href="http://www.opengame.epizy.com/lang/en/news/2414">first successful Android build</a> last year included hacks and non-obvious steps to make OpenSceneGraph run under Android. This time we wanted a cleaner, faster, and cheaper approach.</p> +<p>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.</p> +<p>Here's a quick rundown of the files:</p> +<ol> +<li>GLES2 surface</li> +<li>Render activity to render to the surface</li> +<li>Native library Java interface</li> +<li>Native library C++ implementation</li> +<li>CMake file to build native library</li> +<li>Render activity layout</li> +<li>Model to display</li> +</ol> +<p>Here's a quick rundown of the project changes:</p> +<ol> +<li>Update Android manifest to use GLES2 and render activity</li> +<li>Reference native library's CMake file in the project's CMake file</li> +</ol> +<p>OpenSceneGraph documentation suggests building OpenSceneGraph outside Android Studio with CMake. However, this approach has the following limitations:</p> +<ol> +<li>You have to build OpenSceneGraph for each target architecture</li> +<li>You have to manually copy/reference built OpenSceneGraph libraries into Android Studio project</li> +</ol> +<p>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.</p> +<p>That's it for describing the creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.</p> \ No newline at end of file diff --git a/index.html b/index.html index 4a1a428..a28ebb7 100644 --- a/index.html +++ b/index.html @@ -49,10 +49,10 @@

    2017 summary

    -
    Wed 22 November 2017 +
    Ср 22 Ноябрь 2017 ru -

    Screenshot

    +

    Screenshot

    It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.

    Brief history

    Opensource Game Studio project is 12 years old now.

    @@ -85,13 +85,13 @@ The project was in a constant turmoil because we had no clear purpose and discip

    Back to the Static

    -
    Mon 16 October 2017 +
    Пн 16 Октябрь 2017 ru -

    Back to the Static

    +

    Back to the Static

    We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward. For some time we've been tracking the development of the new breed of website engines - static site generators. -It seems that this is the technology capable of …

    Category: News +It seems that this is the technology ...

    Category: News

    @@ -105,10 +105,10 @@ It seems that this is the technology capable of …

    Cate

    The birth of MJIN world

    -
    Sun 10 September 2017 +
    Вс 10 Сентябрь 2017 ru -

    The birth of MJIN world

    +

    The birth of MJIN world

    This article describes the birth of MJIN world in August 2017.

    mjin-player

    As you know, we spent July to research scripting. We found a solution that satisfies the following criteria. Scripts should:

    @@ -116,7 +116,7 @@ It seems that this is the technology capable of …

    Cate

  • run unchanged on all supported platforms
  • allow extending C++ code
  • -

    We have verified the second criterion by writing …

    Category: News +

    We have verified the second criterion by writing ...

    Category: News

    @@ -130,13 +130,13 @@ It seems that this is the technology capable of …

    Cate

    Scripting research

    -
    Wed 16 August 2017 +
    Ср 16 Август 2017 ru -

    Scripting research

    +

    Scripting research

    This article describes scripting research in July 2017.

    Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

    -

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any …

    Category: News +

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any ...

    Category: News

    @@ -150,13 +150,13 @@ It seems that this is the technology capable of …

    Cate

    OpenSceneGraph cross-platform guide

    -
    Mon 17 July 2017 +
    Пн 17 Июль 2017 ru -

    OpenSceneGraph guide

    +

    OpenSceneGraph guide

    This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.

    June marked the finish of OpenSceneGraph cross-platform guide with the publishing of the last (initially planned) tutorial. The tutorial describes how to build and run sample OpenSceneGraph application in Web using Emscripten. -In case you missed it, here's …

    Category: News +In case you missed it, here ...

    Category: News

    @@ -170,12 +170,12 @@ In case you missed it, here's …

    Category:

    iOS tutorial

    -
    Thu 08 June 2017 +
    Чт 08 Июнь 2017 ru -

    iOS tutorial

    +

    iOS tutorial

    This article describes problems we faced during the creation of iOS tutorial in May 2017.

    -

    This February 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 …

    Category: News +

    This February 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 ...

    Category: News

    @@ -188,16 +188,18 @@ In case you missed it, here's …

    Category:

    Stub

    -
    Sat 03 June 2017 - ru +

    OpenSceneGraph sample

    +
    Пт 12 Май 2017 + ru -

    TODO Import previous Opensource Game Studio articles from Wordpress.

    Category: Stub +

    OSG sample

    +

    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 ...

    Category: News

    - Read More + Read More
    @@ -229,7 +231,6 @@ In case you missed it, here's …

    Category: Categories

    --> diff --git a/ios-tutorial-ru.html b/ios-tutorial-ru.html index f4a6aa2..22c163b 100644 --- a/ios-tutorial-ru.html +++ b/ios-tutorial-ru.html @@ -50,10 +50,10 @@ title="Permalink to Самоучитель iOS">Самоучитель iOS -
    Thu 08 June 2017 +
    Чт 08 Июнь 2017 en -

    Самоучитель iOS

    +

    Самоучитель iOS

    Эта статья описывает проблемы, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.

    В феврале мы сумели отобразить простую модель под iOS за считанные дни. Это дало нам уверенность, что самоучитель для iOS мы сделаем столь же быстро. Тем не менее, реальность напомнила нам о простой вещи: быстро сделать можно лишь поделку на коленке, работающую только у самого разработчика; над логически связанным примером, работающим у всех, придётся попотеть.

    Нативная библиотека

    @@ -119,7 +119,6 @@ --> diff --git a/ios-tutorial.html b/ios-tutorial.html index 2f18369..1c63a16 100644 --- a/ios-tutorial.html +++ b/ios-tutorial.html @@ -50,10 +50,10 @@ title="Permalink to iOS tutorial">iOS tutorial -
    Thu 08 June 2017 +
    Чт 08 Июнь 2017 ru -

    iOS tutorial

    +

    iOS tutorial

    This article describes problems we faced during the creation of iOS tutorial in May 2017.

    This February 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.

    Native library

    @@ -119,7 +119,6 @@ --> diff --git a/mjin-world-birth-ru.html b/mjin-world-birth-ru.html index 7f59c48..7935ed3 100644 --- a/mjin-world-birth-ru.html +++ b/mjin-world-birth-ru.html @@ -50,10 +50,10 @@ title="Permalink to Рождение вселенной MJIN">Рождение вселенной MJIN -
    Sun 10 September 2017 +
    Вс 10 Сентябрь 2017 en -

    Рождение вселенной MJIN

    +

    Рождение вселенной MJIN

    Эта статья описывает рождение вселенной MJIN в августе 2017.

    mjin-player

    Как вы знаете, в июле мы изучали скриптование. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:

    @@ -100,7 +100,6 @@ --> diff --git a/mjin-world-birth.html b/mjin-world-birth.html index 05344d8..4af8dd4 100644 --- a/mjin-world-birth.html +++ b/mjin-world-birth.html @@ -50,10 +50,10 @@ title="Permalink to The birth of MJIN world">The birth of MJIN world -
    Sun 10 September 2017 +
    Вс 10 Сентябрь 2017 ru -

    The birth of MJIN world

    +

    The birth of MJIN world

    This article describes the birth of MJIN world in August 2017.

    mjin-player

    As you know, we spent July to research scripting. We found a solution that satisfies the following criteria. Scripts should:

    @@ -100,7 +100,6 @@ --> diff --git a/openscenegraph-cross-platform-guide-ru.html b/openscenegraph-cross-platform-guide-ru.html index 16a89f6..436631b 100644 --- a/openscenegraph-cross-platform-guide-ru.html +++ b/openscenegraph-cross-platform-guide-ru.html @@ -50,10 +50,10 @@ title="Permalink to OpenSceneGraph cross-platform guide">OpenSceneGraph cross-platform guide -
    Mon 17 July 2017 +
    Пн 17 Июль 2017 en -

    OpenSceneGraph guide

    +

    OpenSceneGraph guide

    Эта статья резюмирует создание кросс-платформенного руководства OpenSceneGraph.

    Июнь ознаменовал собой окончание работы над кросс-платформенным руководством OpenSceneGraph. Мы опубликовали последний самоучитель (из изначально запланированных). Этот самоучитель описывает сборку и запуск примера приложения OpenSceneGraph в вебе с помощью Emscripten. Если вы упустили этот самоучитель, то вот ссылка на приложение из него. Откройте ссылку в веб-браузере.

    @@ -99,7 +99,6 @@ --> diff --git a/openscenegraph-cross-platform-guide.html b/openscenegraph-cross-platform-guide.html index 6cc96ad..98ad1a9 100644 --- a/openscenegraph-cross-platform-guide.html +++ b/openscenegraph-cross-platform-guide.html @@ -50,10 +50,10 @@ title="Permalink to OpenSceneGraph cross-platform guide">OpenSceneGraph cross-platform guide -
    Mon 17 July 2017 +
    Пн 17 Июль 2017 ru -

    OpenSceneGraph guide

    +

    OpenSceneGraph guide

    This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.

    June marked the finish of OpenSceneGraph cross-platform guide with the publishing of the last (initially planned) tutorial. The tutorial describes how to build and run sample OpenSceneGraph application in Web using Emscripten. In case you missed it, here's a link to the final application. Open it in your web browser.

    @@ -99,7 +99,6 @@ We spent 120 hours in five months to produce ten tutorials of the guide.

    --> diff --git a/osg-sample-ru.html b/osg-sample-ru.html new file mode 100644 index 0000000..e35bd21 --- /dev/null +++ b/osg-sample-ru.html @@ -0,0 +1,161 @@ + + + + + + + Приложение OpenSceneGraph + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +
    +

    Приложение OpenSceneGraph

    +
    + +
    Пт 12 Май 2017 + en + +

    OSG sample

    +

    Эта статья описывает создание самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.

    +

    Предыдущие самоучители описывали установку OpenSceneGraph на Linux, macOS, Windows и отображение модели с помощью стандартного инструмента osgviewer. На этот раз результатом нашей работы стало приложение OpenSceneGraph, которое работает на Linux, macOS, Windows и Android.

    +

    Приложение очень простое. Оно умеет следующее:

    +
      +
    1. Создание окна для отрисовки
    2. +
    3. Загрузка модели
    4. +
    5. Отрисовка модели с помощью простых шейдеров GLSL
    6. +
    7. Перемещение модели с помощью мыши на Linux, macOS, Windows и пальца на Android
    8. +
    +

    Создать самоучители для Linux, macOS, Windows было настолько простой и понятной задачей, что мы справились с ней за пару недель. Оставшуюся половину месяца мы потратили на создание самоучителя для Android.

    +

    Наша первая успешная сборка под Android в прошлом году требовала множество неочивидных телодвижений. В этот раз мы хотели получить более чистый, быстрый и дешёвый подход.

    +

    Нам это удалось. В результате всё, что нужно для работы приложения OpenSceneGraph на Android, уместилось в набор из нескольких файлов и небольших изменений для стандартного проекта Android Studio (с поддержкой C++).

    +

    Краткий перечень файлов:

    +
      +
    1. Поверхность GLES2
    2. +
    3. Activity для отрисовки на этой поверхности
    4. +
    5. Интерфейс Java для нативной библиотеки
    6. +
    7. Реализация нативной библиотеки на C++
    8. +
    9. Файл CMake для сборки нативной библиотеки
    10. +
    11. Activity layout
    12. +
    13. Модель для отрисовки
    14. +
    +

    Краткий перечень изменений проекта:

    +
      +
    1. Обновление Android manifest для использования GLES2 и Activity
    2. +
    3. Использование файла CMake нативной библиотеки в проектном файле CMake
    4. +
    +

    Документация OpenSceneGraph предполагает сборку OpenSceneGraph вне Android Studio с помощью CMake. Такой подход имеет следующие ограничения:

    +
      +
    1. Ручная сборка OpenSceneGraph под каждую платформу
    2. +
    3. Ручное копирование собранных библиотек OpenSceneGraph в проект Android Studio
    4. +
    +

    Наш подход включает в себя сборку OpenSceneGraph для тех платформ, для которых собирается проект Android Studio. К тому же, OpenSceneGraph используется как часть проекта, поэтому нет никакой дополнительной рутины: достаточно просто пересобрать проект, и всё готово.

    +

    На этом мы заканчиваем описание создания самоучителей по сборке приложения OpenSceneGraph на Linux, macOS, Windows и Android в апреле 2017.

    +

    Category: News + +

    + + + +
    +
    + + + + + +
    + + + +
    +
    +
    +
    +
    +

    Proudly powered by Pelican, which takes great advantage of Python.

    +
    +
    +
    + +
    \ No newline at end of file diff --git a/osg-sample.html b/osg-sample.html new file mode 100644 index 0000000..49390a6 --- /dev/null +++ b/osg-sample.html @@ -0,0 +1,161 @@ + + + + + + + OpenSceneGraph sample + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +
    +

    OpenSceneGraph sample

    +
    + +
    Пт 12 Май 2017 + ru + +

    OSG sample

    +

    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 that would run under Linux, macOS, Windows, and Android.

    +

    The application is very basic and has the following features:

    +
      +
    1. Render window creation
    2. +
    3. Model loading
    4. +
    5. Model rendering with simple GLSL shaders
    6. +
    7. Model motion with a mouse under Linux, macOS, Windows and a finger under Android
    8. +
    +

    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 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:

    +
      +
    1. GLES2 surface
    2. +
    3. Render activity to render to the surface
    4. +
    5. Native library Java interface
    6. +
    7. Native library C++ implementation
    8. +
    9. CMake file to build native library
    10. +
    11. Render activity layout
    12. +
    13. Model to display
    14. +
    +

    Here's a quick rundown of the project changes:

    +
      +
    1. Update Android manifest to use GLES2 and render activity
    2. +
    3. Reference native library's CMake file in the project's CMake file
    4. +
    +

    OpenSceneGraph documentation suggests building OpenSceneGraph outside Android Studio with CMake. However, this approach has the following limitations:

    +
      +
    1. You have to build OpenSceneGraph for each target architecture
    2. +
    3. You have to manually copy/reference built OpenSceneGraph libraries into Android Studio project
    4. +
    +

    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.

    +

    Category: News + +

    + + + +
    +
    + + + + + +
    + + + +
    +
    +
    +
    +
    +

    Proudly powered by Pelican, which takes great advantage of Python.

    +
    +
    +
    + +
    \ No newline at end of file diff --git a/pages/about-ru.html b/pages/about-ru.html index 67abc94..6bec7bf 100644 --- a/pages/about-ru.html +++ b/pages/about-ru.html @@ -82,7 +82,6 @@ --> diff --git a/pages/about.html b/pages/about.html index 6447b3e..8eb36de 100644 --- a/pages/about.html +++ b/pages/about.html @@ -82,7 +82,6 @@ Recently we have released a mahjong solitaire game, it’s our first step in a l --> diff --git a/pages/projects-ru.html b/pages/projects-ru.html index 19809a4..db03dbe 100644 --- a/pages/projects-ru.html +++ b/pages/projects-ru.html @@ -103,7 +103,6 @@ --> diff --git a/pages/projects.html b/pages/projects.html index e463fe0..2e65962 100644 --- a/pages/projects.html +++ b/pages/projects.html @@ -102,7 +102,6 @@ --> diff --git a/scripting-research-ru.html b/scripting-research-ru.html index 3bcabcf..86a59a1 100644 --- a/scripting-research-ru.html +++ b/scripting-research-ru.html @@ -50,10 +50,10 @@ title="Permalink to Изучение скриптования">Изучение скриптования -
    Wed 16 August 2017 +
    Ср 16 Август 2017 en -

    Изучение скриптования

    +

    Изучение скриптования

    Эта статья описывает изучение скриптования в июле 2017.

    Наша основная цель использования скриптового языка - это наличие платформо-независимого кода, выполняемого без изменений на каждой поддерживаемой платформе.

    Редактор 0.10 использует Python в качестве подобного кода с помощью SWIG. SWIG позволяет использовать практически любой код C/C++ из языков вроде Python, Ruby, Lua, Java, C# и т.д.. SWIG помог нам впервые оценить прелесть платформо-независимого кода. К сожалению, SWIG работает лишь в одном направлении: из C/C++ в язык назначения. Это приводит к тому, что основное приложение должно быть написано на языке назначения, а код C/C++ может быть использован лишь в виде библиотеки.

    @@ -107,7 +107,6 @@ --> diff --git a/scripting-research.html b/scripting-research.html index 24610e6..b90524b 100644 --- a/scripting-research.html +++ b/scripting-research.html @@ -50,10 +50,10 @@ title="Permalink to Scripting research">Scripting research -
    Wed 16 August 2017 +
    Ср 16 Август 2017 ru -

    Scripting research

    +

    Scripting research

    This article describes scripting research in July 2017.

    Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

    OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.

    @@ -109,7 +109,6 @@ Next, we tried to inherit a class in Lua and override the class methods. We fail --> diff --git a/tags.html b/tags.html index e833c77..5e7c24d 100644 --- a/tags.html +++ b/tags.html @@ -67,7 +67,6 @@ -->