put up FOSDEM 2022 on main page
[slides.git] / tsmeetup201909 / index.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5   <meta name="Author" content="KaiRo - Robert Kaiser">
6   <title>VR Space: Creating A Solar System With WebXR</title>
7   <link rel="stylesheet" type="text/css" href="slides.css">
8   <script type="text/javascript" src="slides.js"></script>
9   <link rel="contents" href="#index" title="Overview">
10   <link rel="index" id="link-toc" href="#toc" title="Contents">
11   <link rel="start" id="link-start" href="#index" title="Start">
12 </head>
13 <body>
14 <header id="header"><div id="header-text">VR Space</div>
15   <div id="subheader-text"></div>
16   <a id="headerlogo" href="#index" title="Start page">Mozilla</a>
17 </header>
18 <nav id="slidenav">
19   <a href="#toc" id="nav-toc" accesskey="t">toc</a> ||
20   <a href="#index" id="nav-start" accesskey="s">start</a> ||
21   <a href="#" id="nav-prev" accesskey="p" hidden>&lt; back</a>
22   <span id="nav-prev-nolink" class="nolink">&lt; back</span> |
23   <a href="#" id="nav-next" id="goNext" accesskey="n" hidden>fwd &gt;</a>
24   <span id="nav-next-nolink" class="nolink">fwd &gt;</span>
25 </nav>
26
27 <article id="toc" data-title="Contents">
28 <h1><span>Contents</span></h1>
29 <h2>VR Space: Creating A Solar System With WebXR</h2>
30
31 <div class="captionedbox">
32 <p class="captionedbox-caption">The following slides are available in this presentation:</p>
33 <div class="captionedbox-content">
34 <ul id="toc-list">
35 </ul>
36 </article>
37
38 <article id="index" data-title="Start Page" data-seconds="600">
39 <h1><span>VR Space: Creating A Solar System With WebXR</span></h1>
40 <h2>A Step-By-Step Tutorial Of A-Frame</h2>
41
42 <div class="simplebox decofont">
43 <mark><a href="http://home.kairo.at/">Robert Kaiser</a></mark>
44 </div>
45
46 <div class="captionedbox">
47 <p class="captionedbox-caption decofont"><span id="hidesdesc" class="noadvance">Slides:</span>
48   <a href="https://slides.kairo.at/tsmeetup201909/">https://slides.kairo.at/tsmeetup201909/</a></p>
49 <div class="captionedbox-content small">
50 <ul class="small" id="slidesdesc">
51   <li>Created for a presentation at <a href="https://wiki.mozilla.org/TechSpeakers/Meetups/Amsterdam_2019">Mozilla
52     Tech Speakers Meetup 2019</a> in Amsterdam, The Netherlands.</li>
53   <li>Written in HTML 5 with CSS 3 and JavaScript.</li>
54   <li>Navigation via links on all slides, via access keys
55    (e.g. "n"/Alt+Shift+N for "next") or back/forward arrow keys</li>
56   <li><a href="#toc">Contents</a></li>
57   <li><a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img
58       alt="Lizenziert unter CC-BY-SA," class="ccinline" src="cc-by-sa.svg"></a>
59     09/2019 Robert Kaiser -
60     "Mozilla", "Firefox" and their logos are
61     <a href="http://www.mozilla.org/foundation/trademarks/list.html">trademarks
62     of Mozilla Foundation</a>.</li>
63 </ul>
64 </div>
65 </div>
66 </article>
67
68 <article id="introduction" data-title="Introduction - KaiRo">
69 <h1><span>Robert Kaiser - KaiRo</span></h1>
70
71 <div class="simplebox">
72 <img src="kairo.jpg" class="slidepic"
73  alt="Robert Kaiser">
74 <ul>
75   <li>kairo@kairo.at / <a href="https://home.kairo.at/">home.kairo.at</a></li>
76   <li><mark><a href="https://events.mozilla.org/techspeakers">Mozilla Tech Speaker</a></mark></li>
77   <li>Based in Vienna, Austria</li>
78   <li>Not on most major social networks</li>
79   <li>But on <a href="https://joindiaspora.com/people/eb2e0ec0ec0d04bc">Diaspora*</a>,
80       <a href="https://mozillians.org/en-US/u/KaiRo/">Mozillians</a>,
81       <a href="https://telegram.me/KaiRo_at">Telegram</a>,
82       <a href="https://www.linkedin.com/in/robert-kaiser-kairo-at">LinkedIn</a>,
83       <a href="https://github.com/KaiRo-at">KaiRo-at at GitHub</a></li>
84 </ul>
85 <p class="ensurepicinbox"></p>
86 </div>
87 </article>
88
89 <article id="webvr" data-title="WebVR &amp; WebXR">
90 <h1><span>WebVR &amp; WebXR</span></h1>
91
92 <div class="simplebox">
93 <img src="vruser.jpg" class="slidepic"
94  alt="VR headset user">
95 <ul>
96   <li><a href="https://webvr.info/">WebVR</a>: <mark>Virtual Reality</mark>
97     powered by Web technologies</li>
98   <li>Evolving into <a href="https://github.com/immersive-web/webxr">WebXR
99     Device API</a> - Mixed Reality (Virtual + Augmented Reality)</li>
100   <li><mark>Open Standard</mark> (proposal), in concert with WebGL, WebAudio
101     and Gamepad APIs</li>
102   <li>Firefox: Windows (55+) &amp; MacOS X (64+) release,
103     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1310655">Linux in
104     development</a>,
105     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1419190">WebXR coming
106     soon</a></li>
107   <li>Chrome experimental; support on stand-alone headset browsers</li>
108 </ul>
109 <p class="ensurepicinbox"></p>
110 </div>
111 </article>
112
113 <article id="aframe" data-title="A-Frame">
114 <h1><span>A-Frame + The Sun</span></h1>
115
116 <div class="simplebox">
117 <img src="step1-sun.png" class="slidepic"
118  alt="Preview: The Sun">
119 <pre>
120 &lt;<mark>a-scene</mark>&gt;
121   &lt;<mark>a-sphere</mark> id="sun" <small>position="0 0 0" radius="1" color="#FFFF00"</small>&gt;&lt;/a-sphere&gt;
122
123   &lt;a-entity id="cameraRig" <small>position="0 -1 2"</small>
124                <small> movement-controls="speed: .1; fly: true; camera: #head;"&gt;</small>
125     &lt;a-entity id="head" <small>camera="active: true" look-controls position="0 1.6 0"&gt;&lt;/a-entity&gt;</small>
126     &lt;a-entity id="left-hand" <small>link-controls="hand: left "…&gt;&lt;/a-entity&gt;</small>
127     &lt;a-entity id="right-hand" <small>link-controls="hand: right "…&gt;&lt;/a-entity&gt;</small>
128   &lt;a-entity&gt;
129 &lt;/a-scene&gt;
130 </pre>
131 <p><a href="https://glitch.com/~vrspace-1-sun" target="_blank">edit/view</a>
132 - A-Frame documentation at <a href="https://aframe.io/">aframe.io</a>
133 <p class="ensurepicinbox"></p>
134 </div>
135 </article>
136
137 <article id="planet" data-title="Adding a Planet">
138 <h1><span>Adding a Planet</span></h1>
139
140 <div class="simplebox">
141 <img src="step2-planet.png" class="slidepic"
142  alt="Preview: A planet">
143 <pre>
144 &lt;a-scene&gt;
145   …
146   &lt;a-entity position="0 0 0" rotation="0 -120 0"
147             <mark>animation="property: rotation;</mark> to: 0 240 0;
148                              <small>loop: true; dur: 600000; easing: linear;"&gt;</small>
149     &lt;<mark>a-sphere id="redplanet"</mark> position="0 0 6"
150                        <small>radius=".3" color="#FF8080"&gt;&lt;/a-sphere&gt;</small>
151   &lt;/a-entity&gt;
152   …
153 &lt;/a-scene&gt;
154 </pre>
155 <p><a href="https://glitch.com/~vrspace-2-planet" target="_blank">edit/view</a>
156 <p class="ensurepicinbox"></p>
157 </div>
158 </article>
159
160 <article id="light" data-title="Let There Be Light">
161 <h1><span>Let There Be Light!</span></h1>
162
163 <div class="simplebox">
164 <img src="step3-light.png" class="slidepic"
165  alt="Preview: Better Lights">
166 <pre>
167 &lt;a-scene&gt;
168   &lt;a-entity <mark>light="type: ambient;</mark> color: #BBB; intensity: .1;"&gt;&lt;/a-entity&gt;
169   &lt;a-sphere id="sun" <small>position="0 0 0" radius="1" color="#FFFF00"</small>
170             <mark>material="emissive: #FFFF00;" light="type: point;</mark>
171             <small>intensity: 1; distance: 50; decay: 2"&gt;&lt;/a-sphere&gt;</small>
172   …
173 &lt;/a-scene&gt;
174 </pre>
175 <p><a href="https://glitch.com/~vrspace-3-light" target="_blank">edit/view</a>
176 <p class="ensurepicinbox"></p>
177 </div>
178 </article>
179
180 <article id="realistic" data-title="Realistic Planets">
181 <h1><span>Realistic Planets</span></h1>
182
183 <div class="simplebox">
184 <img src="step4-realistic.png" class="slidepic"
185  alt="Preview: Realistic Planets">
186 <pre>
187 &lt;a-scene&gt;
188   <small>&lt;a-assets&gt;</small>
189     <small>&lt;a-asset-item id="saturnmodel" response-type="arraybuffer" src="Saturn_1_120536.glb"&gt;&lt;/a-asset-item&gt;</small>
190   <small>&lt;/a-assets&gt;</small>
191   …
192   &lt;a-entity …&gt;
193     &lt;a-sphere id="earth" <mark>src="<a href="https://xr.kairo.at//space/earth_equirect.jpg">earth_equirect.jpg</a>"</mark> …&gt;&lt;/a-sphere&gt;
194   &lt;/a-entity&gt;
195   &lt;a-entity …&gt;
196     &lt;a-sphere id="saturn" <mark>gltf-model="#saturnmodel"</mark>
197                  scale="0.003 0.003 0.003" …&gt;&lt;/a-sphere&gt;
198   &lt;/a-entity&gt;
199   …
200 &lt;/a-scene&gt;
201 </pre>
202 <p><a href="https://glitch.com/~vrspace-4-realistic" target="_blank">edit/view</a>
203 <p class="ensurepicinbox"></p>
204 </div>
205 </article>
206
207 <article id="ship" data-title="Space Ship">
208 <h1><span>Space Ship</span></h1>
209
210 <div class="simplebox">
211 <img src="step5-ship.png" class="slidepic"
212  alt="Preview: Space ship">
213 <mark>"All I ask is a tall ship, and a star to steer by."</mark>
214 <br><small><i>- James T. Kirk, citing John Masefield</i></small>
215 <pre>
216 &lt;a-scene&gt;
217   …
218   &lt;a-entity …&gt;
219     &lt;a-entity id="ship" …&gt;
220       &lt;<mark>a-cylinder</mark> <small> radius=".4" height="0.04" color="#CCC0DD" …&gt;&lt;/a-cylinder&gt;</small>
221       <small>&lt;a-cylinder rotation="90 0 0" radius=".03" height=".8" …&gt;&lt;/a-cylinder&gt;</small>
222       <small>&lt;a-cylinder rotation="90 0 0" radius=".03" height=".8" …&gt;&lt;/a-cylinder&gt;</small>
223       …
224     &lt;/a-entity&gt;
225   &lt;/a-entity&gt;
226   …
227 &lt;/a-scene&gt;
228 </pre>
229 <p><a href="https://glitch.com/~vrspace-5-ship" target="_blank">edit/view</a>
230 <p class="ensurepicinbox"></p>
231 </div>
232 </article>
233
234 <article id="end" data-title="The End">
235
236 <div class="simplebox endslidecontainer">
237 <h1 class="cent endslidetext"><span>Questions?</span></h1>
238 <h2 class="cent endslidetext"><span><a href="https://glitch.com/~vrspace-1-sun">glitch.com/~vrspace-1-sun</a></span></h2>
239 <h2 class="cent endslidetext"><span><a href="https://glitch.com/~vrspace-5-ship">glitch.com/~vrspace-5-ship</a></span></h2>
240 <h3 class="cent endslidetext"><span><a href="https://xr.kairo.at/space">xr.kairo.at/space</a></span></h3>
241 <h3 class="cent endslidetext"><span><a href="https://github.com/KaiRo-at/xr/tree/master/space">github.com/KaiRo-at/xr/tree/master/space</a></span></h3>
242 <img src="vrspace-large.png" class="sshot endslidepic" alt="VR Space in 2D">
243 </div>
244 </article>
245
246 </body>
247 </html>