|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <!DOCTYPE html>
- <html>
- <meta charset="utf-8">
- <head>
- <style>
- #header
- {
- background: #2BA6E3;
- padding: 0.7em;
- text-align: left;
- }
-
- #header a
- {
- color: white;
- text-decoration: none;
- padding: 0.5em 1em 0.5em 1em;
- }
- .news_item
- {
- background: #FFFFFF;
- width: 720px;
- padding: 1em;
- margin-top: 2em;
- margin-bottom: 2em;
- border: 1px solid #E0E0E0;
- text-align: left;
- }
- .news_item_contents
- {
- color: #444;
- line-height: 1.5em;
- }
- .news_item_date
- {
- margin-bottom: 2em;
- color: #aaa;
- }
- body
- {
- background: #FAFAFA;
- }
- code, pre
- {
- font-family: monospace, serif;
- font-size: 1em;
- color: #7f0a0c;
- }
- figure
- {
- margin: 0px;
- padding: 0px;
- }
- img
- {
- width: 720px;
- }
- html
- {
- font-family: sans-serif;
- }
- a
- {
- color: #3A91CB;
- text-decoration: none;
- }
- #lang
- {
- float: right;
- }
- figcaption
- {
- color: #aaa;
- }
-
- table
- {
- border-collapse: collapse;
- }
-
- table, th, td
- {
- border: 1px solid #aaa;
- padding: 0.5em;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- </style>
- </head>
- <body>
- <center>
- <div id="header">
- <a href="../../en/news/index.html">News</a>
- <a href="../../en/page/games.html">Games</a>
- <a href="../../en/page/about.html">About</a>
- <div id="lang">
- <a href="openscenegraph-examples.html">EN</a>
- <a href="../../ru/news/openscenegraph-examples.html">RU</a>
- </div>
- </div>
- <h1>In the news</h1>
- <div class="news_item">
- <h2 class="news_item_title">
- <a href="openscenegraph-examples.html">OpenSceneGraph cross-platform examples</a>
- </h2>
- <p class="news_item_date">
- 2018-04-20 00:00
- </p>
- <div class="news_item_contents">
- <figure>
- <img src="../../images/2018-04-20-openscenegraph-examples.png" alt="iOS Simulator renders a cube" /><figcaption>iOS Simulator renders a cube</figcaption>
- </figure>
- <p>This article summarizes the work we did to produce the first two cross-platform OpenSceneGraph examples.</p>
- <p>By the time <a href="mahjong-techdemo1-gameplay.html">the first technology demonstration of OGS Mahjong 2</a> has been released, we’ve already had <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">issue request</a> (to explain how to load images with OpenSceneGraph on Android) hanging for some time. We considered creating a new tutorial for <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> at first. However, we realized that it’s time-consuming and excessive for such a tiny topic (compared to what an average game has) as image loading. We decided to continue sharing our knowledge in the form of concrete examples. That’s how <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">OpenSceneGraph cross-platform examples</a> were born.</p>
- <p>Each example:</p>
- <ul>
- <li>explains crucial code necessary to perform a specific task</li>
- <li>accents platform-specific nuances</li>
- <li>provides implementations to cover desktop, mobile, and web platforms</li>
- <li>provides a web build to showcase results</li>
- </ul>
- <p>The first two examples cover the following topics:</p>
- <ul>
- <li>Embed resource into executable: this greatly simplifies resource handling across platforms</li>
- <li>Use PNG images with PNG plugins: this explains the requirements necessary to build and use PNG plugins</li>
- </ul>
- <p>We will be adding new examples as we proceed with OGS Mahjong 2 development.</p>
- <p>That’s it for summarizing the work we did to produce the first two cross-platform OpenSceneGraph examples.</p>
-
- </div>
- </div>
- </center>
- </body>
- </html>
|