Mercurial > hg > Events > OSC2010
comparison presen/osc2010.html @ 9:57a4fa3f2359 default tip
fix
author | Yutaka_Kinjyo |
---|---|
date | Sat, 02 Oct 2010 13:08:21 +0900 |
parents | 93c3962d9a01 |
children |
comparison
equal
deleted
inserted
replaced
8:b1e6e100c535 | 9:57a4fa3f2359 |
---|---|
41 | 41 |
42 <ol class="xoxo presentation"> | 42 <ol class="xoxo presentation"> |
43 | 43 |
44 </li> | 44 </li> |
45 <li class="slide"> | 45 <li class="slide"> |
46 <h1>シーングラフとPS3 を使った <br> ゲームプログラミング</h1> | 46 <h1>学生向けゲーム作成演習の様子</h1> |
47 <p><pre> Cerium Task Manager<br> | 47 |
48 Blender / SceneGraph<br> | 48 </li> |
49 </pre> | 49 |
50 </li> | 50 <div class="slide"> |
51 | 51 <h1>概要</h1> |
52 <div class="slide"> | 52 <ul> |
53 <h1>発表概要</h1> | 53 <li>PS3 ゲーム開発用フレームワーク <span class="text-maroon">Cerium</span> の紹介.</li> |
54 <p>PS3 ゲーム開発用フレームワーク <span class="text-maroon">Cerium</span> の紹介.</p> | 54 <li>SceneGraphによるゲーム作成</li> |
55 <p>Lindaを用いた、ネットワークゲームの作成例の紹介</p> | 55 <li>Lindaを用いた、ネットワークゲームの作成例の紹介</li> |
56 </ul> | |
56 </div> | 57 </div> |
57 | 58 |
58 <div class="slide" id="id17"> | 59 <div class="slide" id="id17"> |
59 <h1>Cerium を用いたゲーム開発</h1> | 60 <h1>Cerium を用いたゲーム開発</h1> |
60 <div align="center" class="align-center"><img alt="images/cerium_game.jpg" class="align-center" src="images/cerium_game.jpg" style="width: 450px;" /></div> | 61 <div align="center" class="align-center"><img alt="images/cerium_game.jpg" class="align-center" src="images/cerium_game.jpg" style="width: 450px;" /></div> |
187 <img src="gazo/collision3.png" style="width: 70%"> | 188 <img src="gazo/collision3.png" style="width: 70%"> |
188 </div> | 189 </div> |
189 | 190 |
190 <div class="slide"> | 191 <div class="slide"> |
191 <h1>SceneGraph</h1> | 192 <h1>SceneGraph</h1> |
193 <img src="gazo/collision4.png" style="width: 60%"> | |
194 </div> | |
195 | |
196 <div class="slide"> | |
197 <h1>SceneGraph</h1> | |
198 <pre> | |
199 static void | |
200 boss1_move_right() { | |
201 x += 1; | |
202 if(x > screen_w) { | |
203 <font color="red">set_move(boss1_move_left);</font> | |
204 } | |
205 } | |
206 | |
207 static void | |
208 boss1_move_left() { | |
209 x -= 1; | |
210 if(x < screen_w) { | |
211 <font color="red">set_move(boss1_move_right);</font> | |
212 } | |
213 } | |
214 </pre> | |
215 </div> | |
216 | |
217 | |
218 <div class="slide"> | |
219 <h1>SceneGraph</h1> | |
192 <img src="gazo/boss2.png" style="width: 60%"> | 220 <img src="gazo/boss2.png" style="width: 60%"> |
193 </div> | 221 </div> |
194 | 222 |
195 <div class="slide"> | 223 <div class="slide"> |
196 <h1>SceneGraph</h1> | 224 <h1>SceneGraph</h1> |
197 <img src="gazo/boss3.png" style="width: 70%"> | 225 <img src="gazo/boss3.png" style="width: 70%"> |
226 </div> | |
227 | |
228 <div class="slide"> | |
229 <h1>SceneGraph</h1> | |
230 <img src="gazo/boss4.png" style="width: 60%"> | |
231 </div> | |
232 | |
233 <div class="slide"> | |
234 <h1>SceneGraph</h1> | |
235 <img src="gazo/hito.png" style="width: 60%"> | |
198 </div> | 236 </div> |
199 | 237 |
200 <div class="slide"> | 238 <div class="slide"> |
201 <h1>SceneGraph</h1> | 239 <h1>SceneGraph</h1> |
202 <p><pre> SceneGraph を<br> | 240 <p><pre> SceneGraph を<br> |
203 MoveTask<br> | 241 MoveTask<br> |
204 CollsionTask<br> | 242 CollisionTask<br> |
205 で書き換えていく<br> | 243 で書き換えていく<br> |
206 MoveTask, CollsionTask は、ステートパターンで<br> | 244 MoveTask, CollisionTask は、ステートパターンで<br> |
207 入れ換えられる<br> | 245 入れ換えられる<br> |
208 </pre> | 246 </pre> |
209 これで、すべて書ける。<br> | 247 これで、すべて書ける。<br> |
210 <p></div> | 248 <p></div> |
211 | 249 |
278 | 316 |
279 <div class="slide"> | 317 <div class="slide"> |
280 <h1>TaskManager</h1> | 318 <h1>TaskManager</h1> |
281 SceneGraph, RenderingEngineのTaskを管理し、SPEに | 319 SceneGraph, RenderingEngineのTaskを管理し、SPEに |
282 </div> | 320 </div> |
283 | |
284 <div class="slide"> | |
285 <h1>TaskManager</h1> | |
286 | |
287 <ul> | |
288 <li>TaskManagerは、Taskと呼ばれる、分割された各プログラムを管理する</li> | |
289 <ul> | |
290 <li>Taskの単位はサブルーチン</li> | |
291 </ul> | |
292 <li>Task同士の依存関係を考慮</li> | |
293 <li>実行可能になったTaskをSPEに渡す</li> | |
294 </ul> | |
295 | |
296 <table height="100%" width="100%" border="0"> | |
297 <tr><td align="center" valign="middle"> | |
298 <img src="gazo/taskmanager1.png" style="width: 50%%"></td></tr> | |
299 </table> | |
300 | |
301 </div> | |
302 | |
303 <div class="slide"> | |
304 <h1>CeriumにおけるTask</h1> | |
305 | |
306 TaskはTaskManagerを使って生成する。Taskを生成する際に以下のような要素が | |
307 設定可能である。 | |
308 | |
309 <ul> | |
310 <li>Input data</li> | |
311 <li>Output data</li> | |
312 <li>Paramater</li> | |
313 <li>CPU type</li> | |
314 <li>Dependency</li> | |
315 </ul> | |
316 | |
317 </div> | |
318 | |
319 <div class="slide"> | |
320 <h1>CeriumにおけるTask</h1> | |
321 <big><u>Dependency</u></big><br> | |
322 <ul> | |
323 <li>Dependencyは他のTaskとの依存関係を示す。</li> | |
324 <li>例えばTaskAがTaskBをwaitする場合、TaskBが実行完了すると、TaskAが実行可能になる。</li> | |
325 <li>Taskの実行完了は、SPEのMail送信ボックスにデータが書き込まれ通知される。</li> | |
326 </ul> | |
327 | |
328 <table height="100%" width="100%" border="0"> | |
329 <tr><td align="center" valign="middle"> | |
330 <img src="gazo/dependency1.png" style="width: 40%%"></td></tr> | |
331 </table> | |
332 | |
333 </div> | |
334 | |
335 | |
336 <div class="slide"> | |
337 <h1>CeriumにおけるTask</h1> | |
338 <big><u>Mail機能</u></big><br> | |
339 <ul> | |
340 <li>Cellの機能の1つ</li> | |
341 <li>32bitのメッセージをPPE,SPE間でやりとりできる</li> | |
342 <li>送信ボックス、受信ボックスがSPEに設けられている。</li> | |
343 <li>それぞれMailボックスはキューになっている</li> | |
344 <li>受信ボックスのサイズは4</li> | |
345 <li>送信ボックスのサイズは1</li> | |
346 </ul> | |
347 | |
348 </div> | |
349 | |
350 <div class="slide"> | |
351 <h1>CeriumにおけるTask</h1> | |
352 <big><u>Mail機能</u></big><br> | |
353 <ul> | |
354 <li>送信ボックスのデータはPPEから、受信ボックスのデータはSPEから呼び出される</li> | |
355 <li>書き込みはその逆</li> | |
356 </ul> | |
357 | |
358 <table height="100%" width="100%" border="0"> | |
359 <tr><td align="center" valign="middle"> | |
360 <img src="gazo/mail.png" style="width: 60%%"></td></tr> | |
361 </table> | |
362 | |
363 </div> | |
364 | |
365 <div class="slide"> | |
366 <h1>Taskの送信</h1> | |
367 | |
368 <ul> | |
369 <li>Taskは1つ毎にSPEには送らない</li> | |
370 <li>いくつかのTaskをまとめTaskListとして送る</li> | |
371 <li>TaskListをすべて完了すると、SPEからPPEへのMailが書き込まれる</li> | |
372 <li>PPE側がMailをチェックし次のTaskListをMailで通知する</li> | |
373 </ul> | |
374 | |
375 <table height="100%" width="100%" border="0"> | |
376 <tr><td align="center" valign="middle"> | |
377 <img src="gazo/tasklist1.png" style="width: 40%%"></td></tr> | |
378 </table> | |
379 | |
380 </div> | |
381 | |
382 | |
383 | 321 |
384 <li class="slide"> | 322 <li class="slide"> |
385 <h1>Cerium Task Manager</h1> | 323 <h1>Cerium Task Manager</h1> |
386 <p></p> | 324 <p></p> |
387 <ul> | 325 <ul> |