Mercurial > hg > Members > koba > presen
changeset 0:dd58d6a69f56
make presen directry.
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi08_11_21.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 08/12/12</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:08/12/12]</h1> +<h2>並列プログラミングにおけるテストルーチンによる信頼性の向上</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>並列プログラミングにおける<br>テストルーチンによる信頼性の向上</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 工学部 情報工学科</h4> +<h4>No.055722G</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<ul> +<font size="5"> +当研究室では学生実験において、PlayStation3を用いた並列的なゲームプログラムの作成を行っている。その際に使用されるのが当研究室で開発したCeriumレンダリングエンジンである。Ceriumを用いたプログラミングでは、Taskの管理やデータの転送など、独自の技術を必要としており、従来のプログラミングに比べその信頼性を確保する事は難しい。<br> +<br> +本研究ではCppUnitを用いて、学生の作成したプログラム、およびCerium本体の単体テストを行い、その動作を保証することを目的とする。 +</font> +</ul> +</div> + +<div class="slide"> +<h1>Done</h1> +<ul> +<li>sortプログラムのテスト</li> +<font size="5"> +mainでの全てのテストケースの一括表示を +</font> + +</ul> +</div> + + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>巨大オブジェクトの表示テスト</li> +<font size="5"> + +</font> + +<li>Automake/Autoconf</li> +<font size="5"> +PS3:libSPEの有無<br> +Linux:dlopen,dlcloseなど +</font> + +</ul> +</div> + + +<div class="slide"> +<h1>To Do</h1> +<ul> +<li>Ceriumを用いたゲーム</li> +<font size="5"> +膨大な数のObjectを用いた戦争ゲーム? +</font> + +<li>Game Objectのmove,collision</li> +<font size="5"> +... +</font> + +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi08_12_12.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 08/12/12</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:08/12/12]</h1> +<h2>並列プログラミングにおけるテストルーチンによる信頼性の向上</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>並列プログラミングにおける<br>テストルーチンによる信頼性の向上</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 工学部 情報工学科</h4> +<h4>No.055722G</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<ul> +<font size="5"> +<li>当研究室では学生実験において、PlayStation3を用いた並列的なゲームプログラムの作成を行っている。</li> +<li>PlayStation3にはCellと呼ばれるCPUが搭載されており、作成したプログラムはCellに最適化させる必要がある。</li> +<li>そこで使用されるのが当研究室で開発したCeriumレンダリングエンジンである。</li> +<li>Ceriumレンダリングエンジンでは、Taskの管理やデータの転送など、Cellの特徴を考えた処理を行っている。</li> +<li>従来のシーケンシャルなプログラミングに比べて、</li> +<br> +<br> +<li>本研究ではCppUnitを用いて、学生の作成したプログラム、およびCerium本体の単体テストを行い、その動作を保証することを目的とする。</li> +</font> +</ul> +</div> + +<div class="slide"> +<h1>Cellの構成</h1> +<ul> + + +</ul> +</div> + +<div class="slide"> +<h1>Cellの構成</h1> +<ul> + + +</ul> +</div> + +<div class="slide"> +<h1>Ceriumとは</h1> +<ul> +<li></li> + +</ul> +</div> + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>SG_marioのテスト</li> + +</ul> +</div> + + +<div class="slide"> +<h1>SG_marioの処理</h1> +<ul> + + +</ul> +</div> + + +<div class="slide"> +<h1>To Do</h1> +<ul> +<li>Ceriumを用いたゲーム</li> +<font size="5"> +膨大な数のObjectを用いた戦争ゲーム? +</font> + +<li>Game Objectのmove,collision</li> +<font size="5"> +... +</font> + +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_01_09.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/01/09</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/01/09]</h1> +<h2>並列プログラミングにおけるテストルーチンによる信頼性の向上</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>並列プログラミングにおける<br>テストルーチンによる信頼性の向上</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 工学部 情報工学科</h4> +<h4>No.055722G</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<ul> +<font size="4"> +<li>当研究室では学生実験において、PlayStation3を用いた並列的なゲームプログラムの作成を行っている。</li> +<li>PlayStation3にはCellと呼ばれるCPUが搭載されており、作成したプログラムはCellに最適化させる必要がある。</li> +<li>そこで使用されるのが当研究室で開発したCeriumレンダリングエンジンである。</li> +<li>Ceriumには、Taskの管理やデータの転送などを行うTaskManager、オブジェクトのレンダリングを行うRenderingEngine、ゲームの場面(Scene)やルールをTree構造に格納したSceneGraphがある。</li> +<li>Ceriumを用いたプログラムにはTaskやSceneの概念、Cell上でのデータのやりとりなどがある為、期待された動作を保証するのは難しい。</li> +<br> +<li>本研究ではCppUnitを用いて、学生の作成したプログラム、およびCerium本体に対しての単体テストを行う。学生の作成したプログラムに対してはTask単位、Scene単位でのテストを行い、その動作を保証する。</li> +</font> +</ul> +</div> + + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>Game_project/ps3/tree_dandy2のCeriumへの移行</li> +<font size="5"> +Scene_Graphの適用<font color= red>_doing</font><br> +その他 +</font> + +<li>Test</li> +<font size="5"> +1つのSceneだけを抜き出すテスト<br> +(まずは明らかにおかしい2面ボスシーンを) +</font> +</ul> +</div> + + +<div class="slide"> +<h1>tree_dandy2</h1> +<ul> +<li>move.c</li> +<font size ="5"> +<pre> +void Move() +... + +switch (enemy[tekino].move) { + case 0: + enemy[tekino].x += enemy[tekino].sx; + enemy[tekino].y += enemy[tekino].sy; + break; + case 1: + enemy[tekino].x -= enemy[tekino].sx; + enemy[tekino].y -= enemy[tekino].sy; + break; + case 2: + enemy[tekino].sy -= 0.25; + enemy[tekino].y += enemy[tekino].sy; + break; + ... +</pre> +</font> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_01_16.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/01/16</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/01/16]</h1> +<h2>並列プログラミングにおけるテストルーチンによる信頼性の向上</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>並列プログラミングにおける<br>テストルーチンによる信頼性の向上</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 工学部 情報工学科</h4> +<h4>No.055722G</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<ul> +<font size="4"> +<li>当研究室では学生実験において、PlayStation3を用いた並列的なゲームプログラムの作成を行っている。</li> +<li>PlayStation3にはCellと呼ばれるCPUが搭載されており、作成したプログラムはCellに最適化させる必要がある。</li> +<li>そこで使用されるのが当研究室で開発したCeriumレンダリングエンジンである。</li> +<li>Ceriumには、Taskの管理やデータの転送などを行うTaskManager、オブジェクトのレンダリングを行うRenderingEngine、ゲームの場面(Scene)やルールをTree構造に格納したSceneGraphがある。</li> +<li>Ceriumを用いたプログラムにはTaskやSceneの概念、Cell上でのデータのやりとりなどがある為、期待された動作を保証するのは難しい。</li> +<br> +<li>本研究ではCppUnitを用いて、学生の作成したプログラム、およびCerium本体に対しての単体テストを行う。学生の作成したプログラムに対してはTask単位、Scene単位でのテストを行い、その動作を保証する。</li> +</font> +</ul> +</div> + + +<div class="slide"> +<h1>TaskManagerとは</h1> +<font size="4"> +TaskManagerは、Taskと呼ばれる分割された各プログラムを管理するライブラリである。 Task同士の依存関係を考慮しながらメモリ上にマッピングし、SPE上ではそのプログラムを DMA転送によりロードする。SPEは256KBという小さなデータ量しか持てず、 大量のプログラムを全てSPE上に置いておく事は出来ない可能性がある。 そのため、必要な時に必要な実行プログラムだけがSPE上にロードされている事が望ましい。(図1) + +<img src="image/TaskManager.jpg" width="30%" height="50%" alt="TaskManager"><br> +図1:TaskManager +</font> +</div> + + +<div class="slide"> +<h1>SceneGraphとは</h1> +<font size="4"> +ゲームの中の一つの場面(Scene)を構成するオブジェクトやその振る舞い、ゲームのルールの集合をSceneGraphとする。SceneGraphのノードは親子関係を持つTreeで構成される。(図2) +<table> +<tr> +<td><img src="image/SceneGraph.jpg" width="" height="" alt=" SceneGraph"></td> +<td> +<font size="3"> +<ul> +<li>Vervatim:ポリゴンオブジェクトの頂点座標 +<li>Texture:ポリゴンオブジェクトのテクスチャ座標 +<li>TextureImage:テクスチャイメージ +<li>TransMatrix:ポリゴンオブジェクトの変換行列 +<li>Coordinates:オブジェクトの座標 +<li>Angle:オブジェクトの角度 +<li>Move:自律的なオブジェクトの動き +<li>Collision:他のノードと衝突した時の動き +</ul> +</font> +</td> +</table> +図2:SceneGraph<br> +<br> +親子関係とは、親オブジェクトの回転や平行移動等の行列計算による頂点座標の変更が、子オブジェクトにも反映する関係の事である。これは子に対してスタックに積まれた親の変換行列をかけることで実現出来る。 +</font> +</div> + + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>Game_project/ps3/tree_dandy2のCeriumへの移行</li> +<font size="5"> +Scene_Graphの適用<font color= red>_doing</font><br> +その他 +</font> + +<li>Test</li> +<font size="5"> +1つのSceneだけを抜き出すテスト<br> +(まずは明らかにおかしい2面ボスシーンを) +</font> +</ul> +</div> + + +<div class="slide"> +<h1>tree_dandy2</h1> +<ul> +<li>move.c</li> +<font size ="5"> +<pre> +void Move() +... + +switch (enemy[tekino].move) { + case 0: + enemy[tekino].x += enemy[tekino].sx; + enemy[tekino].y += enemy[tekino].sy; + break; + case 1: + enemy[tekino].x -= enemy[tekino].sx; + enemy[tekino].y -= enemy[tekino].sy; + break; + case 2: + enemy[tekino].sy -= 0.25; + enemy[tekino].y += enemy[tekino].sy; + break; + ... +</pre> +</font> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_04_14.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/04/14</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/04/14]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>超弾帝の移植</h1> +<ul> +<li>ソースの修正</li> +<font size="5"> +<li>ダメなソース</li> +<pre> +... + if(node->xyz[0] > screen_w-280) { + node->set_move_collision(boss1_move_left, boss1_collision); + } +... +</pre> +<li>良いソース</li> +<pre> +#define BOSS1_RIGHT_END screen_w-280 +... + if(node->xyz[0] > BOSS1_RIGHT_END) { + node->set_move_collision(boss1_move_left, boss1_collision); + } +... +</pre> +</font> +<br> +<li>オブジェクト指向を使いたい</li> +</ul> +</div> + +<div class="slide"> +<h1>東京で聞いてきました</h1> +<ul> +<li>目の動きに合わせて立体的に見える光学技術</li> +<font size="5"> +<li>ゲームに応用</li> +<li>携帯ゲームに</li> +</font> +<br> +<li>PS3でのプログラミング</li> +<font size="5"> +<li>SCEのツールはダメらしい</li> +<li>各社自前のツールを用意</li> +<br> +<li>SEGAの本は読んだ方が良い</li> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_05_12.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/05/12</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/05/12]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>この連休中にできたこと</h1> + +<ul> +<li>1面ボスの基本的な動き</li> +<li>自機キャラクターの基本的な動きと当たり判定</li> +<li>自機の出す弾の動きと当たり判定・エフェクト</li> +</ul> +</div> + +<div class="slide"> +<h1>1面ボス</h1> + +<ul> +<li>3月時の動きの微調整(継続中)</li> +<li>当たり判定は持ってない</li> +<li>登場時の演出の関係上、こいつが当たり判定を持っていた方が良い</li> +<br> +<li>TO DO</li> +<ul> +<li>ボスのショットの実装</li> +</ul> +</ul> + +</div> + +<div class="slide"> +<h1>自機キャラクター</h1> + +<ul> +<li>操作の実装・ショットの実装(1種類のみ)</li> +<li>自分とボスの当たり判定を持っている(ボスが持った方が良い)</li> +<br> +<li>TO DO</li> +<ul> +<li>左右操作時の旋回モーション</li> +<li>敵に当たったときの爆発モーション&ゲームオーバー処理</li> +</ul> +</ul> + +</div> + +<div class="slide"> +<h1>自機のショット</h1> +<ul> +<li>ボスとの当たり判定(敵に実装が良い)</li> +<li>爆発エフェクトの実装(ちょっと変)</li> +</ul> +</div> + +<div class="slide"> +<h1>全体的な課題</h1> +<ul> +<li>オブジェクトの透過処理</li> +<li>ボスや自機の当たり判定の取り方</li> +<ul> +<li>自機の当たり判定を小さく</li> +<li>ボスの当たり判定を細かく(ボス2への応用)</li> +</ul> +<li>scaleの実装(Blenderで大きさを合わせるのは手間)</li> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_05_19.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/05/19</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/05/19]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>今週やった事</h1> + +<ul> +<li>アルファ値の検出のテスト</li> +<li>スーパーダンディの微調整</li> +</ul> +</div> + +<div class="slide"> +<h1>アルファ値の検出テスト</h1> + +<ul> + <li>ダンディで確認</li> + <li>テクスチャ画像はPNGを使用</li> + <li>画像はプレビューで加工</li> + <li>JPEG2000はSDL_imageが未対応(エラーが出る)</li> +</ul> + +</div> + +<div class="slide"> +<h1>アルファ値の検出テスト</h1> + +<font size=5> +<table border="1" cellpadding="5"> + <caption>SDL_image対応形式</caption> + <tr> + <th>PNG</th> + <td>36KB</td> + </tr> + <tr> + <th>BMP</th> + <td>128KB</td> + </tr + <tr> + <th>GIF</th> + <td>11KB(256色)</td> + </tr> + <tr> + <th>PNM</th> + <td>140KB</td> + </tr> + <tr> + <th>PCX</th> + <td>84KB</td> + </tr> + <tr> + <th>TGA</th> + <td>107.8KB</td> + </tr> + <tr> + <th>XPM</th> + <td>未調査</td> + </tr> + <tr> + <th>LBM</th> + <td>未調査</td> + </tr> + <tr> + <th><font color=red>JP2</font></th> + <td>16KB</td> + </tr> +</table> +</font> +<ul> +<li>JPEG2000に対応させる?</li> +</ul> +</div> + +<div class="slide"> +<h1>ダンディの微調整</h1> +<ul> +<li>爆発エフェクトの挙動の修正</li> +<li>旋回モーションの実装中…</li> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_05_26.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,73 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/05/26</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/05/26]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>今週やった事</h1> + +<font size=4>今週何もやりませんでした。スイマセン……</font> +<ul> +<li>MySQLの設定・コード読み</li> +<li>ファジィアルゴリズムの理解</li> +</ul> +</div> + +<div class="slide"> +<h1>これからやる予定の事</h1> +<ul> +<li>Java PathFinderについて詳しく調べる</li> +<li>他にどんなテストがあるか調べる</li> +<li>リアルタイムで値を変える仕組みを実装してみる</li> +<li>併行してGUIをどうするか考える(Ceriumを使う?)</li> +<li>ダンディも進める</li> +</ul> +</div> + +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_06_09.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/06/09</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/06/09]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>今週やった事</h1> + +<ul> +<li>ソース読み会</li> +<li>Autotools(Automake/Autoconf)の理解と試行</li> +</ul> +</div> + +<div class="slide"> +<h1>Autotoolsの基本的な使い方</h1> +<font size=4> +<ol> +<li>autoscan する</li> +<ul> +<li>configure.scan が生成される</li> +<li>mv configure.scan configure.in する</li> +</ul> +<li>configure.in の編集</li> +<li>Makefile.am を作る</li> +<li>autoheader で configure.in から config.h.in を作る</li> +<li>automake で Makefile.am から Makefile.in を作る</li> +<li>autoconf で configure.in から configure を作る</li> +<li>configure すると Makefile.in から Makefile, config.h.in から config.h が作られる</li> +<li>make で Makefile とconfig.h からTARGET を作り出す。</li> +</ol> +</font> +</div> + +<div class="slide"> +<h1>Autotoolsの基本的な使い方</h1> +<center> +<img src="image/autotools.jpg" width=80% height=80%> +</center> +</div> + +<div class="slide"> +<h1>Autotoolsでできること</h1> +<ul> +<li>コンパイラのチェック</li> +<li>ライブラリのチェック</li> +<li>ヘッダのチェック</li> +<li>関数のチェック</li> +<li>m4 を用いてautoconf で使えるマクロを定義する事が出来る</li> +<li>autoheaderでソースで使用するマクロを定義する事が出来る</li> +</ul> +</div> + +<div class="slide"> +<h1>Ceriumでautotoolsを使うに当たって</h1> +<ul> +<li>libspe2の有無などによって出力するMakefileを変える</li> +<li>LibXXXXManagerは作成するが、各例題はMakefileを作成するに留める</li> +<li>条件文によってコンパイルするファイルを選択できる</li> +<li>Ceriumの階層構造を見直すかどうか</li> +</ul> +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_07_07.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/07/07</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/07/07]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>発表資料</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>DOING</h1> + +<ul> +<li>複数の XML から registSceneGraph() で HashTable に登録する機能の実装</li> +<ul> +<li>HashTable の勉強</li> +<li>コード読み</li> +</ul> +</ul> +</div> + +<div class="slide"> +<h1>Approach</h1> +<ul> +<li>とりあえず SceneGraphPtr を格納する HashTable を作成してみる</li> +<li>registSceneGraph() で HashTable に登録する</li> +<li>createSceneGraph(int id) を変更</li> +</ul> +</div> + +<div class="slide"> +<h1>HashTableの作成</h1> +<ul> +<li>TextureHash, spe/TileHashを参考に</li> +<li>とりあえず書いてみる</li> +<li>Hash 関数を考える</li> +</ul> + +</div> + +<div class="slide"> +<h1>HashTableの作成</h1> +<h2>実装例</h2> +<font size="5"> +<pre> +int +SGHash::put(char *sg_name, SceneGraphPtr data) +{ + int hashval = hash(sg_name); + + for (int i = 0; i < hashSize/2; i++) { + int index = (hashval + i*i)%hashSize; + + if (table[index] == 0) { + table[index] = data; + return index; + } + } + +} + +SceneGraphPtr +SGHash::get(char *sg_name) +{ + int hashval = hash(sg_name); + + for (int i = 0; i < hashSize/2; i++) { + int index = (hashval + i*i)%hashSize; + + if (table[index] != NULL && + table[index]->name == sg_name) { + return table[index]; + } + } +</pre> +</font> +</div> + +<div class="slide"> +<h1>複数のXMLからHashTableに登録</h1> +<ul> +<li>現在の実装</li> +<font size="5"> +<pre> +.. + + sgroot->createFromXMLfile("xml_file/boss1.xml"); + sgroot->createFromXMLfile("xml_file/player1.xml"); + sgroot->createFromXMLfile("xml_file/p_shot.xml"); + sgroot->createFromXMLfile("xml_file/blast.xml"); + +.. +</pre> +</font> +</ul> +</div> + +<div class="slide"> +<h1>今後の課題</h1> +<ul> +<li>以下のような記述を使わないような実装</li> +<font size="5"> +<pre> +#define BOSS1 scene_graph +#define BOSS1_L scene_graph->next +#define BOSS1_R scene_graph->next->next +</pre> +</font> +</ul> +</div> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_09_29.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/09/29</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/09/29]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>Cell を用いた<br> +並列 Game Programming の為の<br> +Cerium Engine の実装</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>研究背景・目的</h1> + +<font size="5"><ul> +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>当研究室では Playstation3 上でのゲーム開発を目的とした Cerium という + Engine を開発している</li> +<li>Cerium にはプログラムを Task 単位で Cell の各アーキテクチャに処理させる TaskManager と + Object をScene 毎に管理する SceneGraph、Object の描画をする RenderingEngine がある</li> +<br> +<li>本研究ではこの Cerium を使った一般的なゲームの作成を実現するための様々な実装を行う</li> +</ul></font> +</div> + +<div class="slide"> +<h1>DONE</h1> +<ul> +<li>OSC 準備 & OSC</li> +</ul> +</div> + +<div class="slide"> +<h1>DOING</h1> +<h2>超弾帝を移植する為の必要事項の洗い出し</h2> +<ul> +<li>状態遷移</li> +<ul> +<li>property 内のHP等を見てif文 → Move のコードの書き換え?</li> +</ul> +<li>collision の実装</li> +<ul> +<li>property の他 Object の座標を見て衝突判定</li> +<li>Dandy なら1つの Object につき敵と自分,弾</li> +<li>当たったら property 内のフラグが立つ</li> +<li>collision と move は別 SPE で計算?</li> +</ul> +<li>Object が大量にあった場合</li> +<ul> +<li>property の検索が必要 → Hash?</li> +</ul> +<li>音楽</li> +<li>etc...</li> +</ul> + +</div> + +<div class="slide"> +<h1>TODO</h1> +<ul> +<li>Dandy 移植に向けた Cerium の実装</li> +<li>Cerium 用の Dandy を書く</li> +</ul> +</div> + + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_10_06.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/10/06</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/10/06]</h1> +<h2>発表資料</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>Cell を用いた<br> +並列 Game Programming の為の<br> +Cerium Engine の実装</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>研究背景・目的</h1> + +<font size="5"><ul> +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>当研究室では Playstation3 上でのゲーム開発を目的とした Cerium という + Engine を開発している</li> +<li>Cerium にはプログラムを Task 単位で Cell の各アーキテクチャに処理させる TaskManager と + Object をScene 毎に管理する SceneGraph、Object の描画をする RenderingEngine がある</li> +<br> +<li>本研究では Cerium の実装として</li> +<ul> +<li>Test</li> +<li>音声</li> +<li>MARS</li> +</ul> +</ul></font> +</div> + +<div class="slide"> +<h1>DONE</h1> +<ul> +<li>Dandy の BMP ファイルを PNG 化 & 透過処理</li> +</ul> +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>XML ファイルの作成</li> +<ul> +<li>ボス戦 ver</li> +<li>1面 ver</li> +</ul> + +</ul> +</div> + +<div class="slide"> +<h1>TODO</h1> +<ul> +<li>現時点で動く Dandy の作成</li> +<li>次期 Cerium の仕様に合わせた Dandy の作成</li> +</ul> +</div> + + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_10_20.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,202 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/10/20</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/10/20]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cell を用いた<br> +並列 Programming の為の<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> + +<font size="5"><ul> +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +</ul></font> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> + +<font size="5"><ul> +<li>本研究では Cell 上で動く Program の正常な動作を保証するテスト手法を提案する</li> +<li>Program の順序性と PPE, SPE 上での Data 管理の面からテスト手法を考える</li> +<li>当研究室で開発した Cerium というPlayStation3 上で動作する Engine を用いてテストを行う</li> +<li>Cerium にはプログラムを Task 単位で Cell の各アーキテクチャに処理させる TaskManager と + Object をScene 毎に管理する SceneGraph、Object の描画をする RenderingEngine がある</li> +</ul></font> +</div> + +<div class="slide"> +<h1>DONE</h1> +<ul> +<li>SnowLeopard 上での Cerium 開発環境</li> +<li>Dandy のタイトル画面追加</li> +</ul> +</div> + + +<div class="slide"> +<h1>SnowLeopard 上でのCerium 開発環境</h1> +<h2>GCC, G++</h2> +<ul> +<li>default ではgcc-4.2</li> +<li>gcc-4.2 だと cast 等で error</li> +<pre> + $sudo mv /usr/bin/gcc /usr/bin/gcc4.2 + $sudo mv /usr/bin/g++ /usr/bin/g++4.2 + $sudo ln -s /usr/bin/gcc-4.0 /usr/bin/gcc + $sudo ln -s /usr/bin/g++-4.0 /usr/bin/g++ +</pre> +</ul> +</div> + + +<div class="slide"> +<h1>SnowLeopard 上でのCerium 開発環境</h1> +<h2>SDL</h2> +<ul> +<li>SDL-1.2.13 の Option を変えて Compile</li> +<pre> + $env CC='/usr/bin/gcc-4.0' CFLAGS='-isysroot + /Developer/SDKs/MacOSX10.5.sdk -arch i386' + LDFLAGS='-arch i386' ./configure + --prefix=/sw --without-x + $make + ... +</pre> +<li>うまく行かない…</li> +<li>SDL-1.3 がSnowLeopard で動くらしい</li> +<li>…と思ったら、10月6日に SnowLeopard 対応の SDL-1.2.14 公開</li> +</ul> +</div> + + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>汎用的な collision 関数の実装</li> +<li>爆発アニメーションの実装</li> +<li>Blender file の作成</li> +</ul> +</div> + + +<div class="slide"> +<h1>汎用的な collision 関数の実装</h1> +<font size="5"><pre> +static bool +collision_judge(SceneGraphIteratorPtr it, SceneGraphPtr myself, + int obj_id, int my_radius, int enemy_radius) +{ + /* 自分と相手のx,y座標での距離と2点間の距離 */ + float x_distant, y_distant, distance; + SceneGraphPtr enemy; + + for (; it->hasNext(obj_id);) { + it->next(obj_id); + enemy = it->get(); + + x_distant = enemy->xyz[0] - myself->xyz[0]; + y_distant = enemy->xyz[1] - myself->xyz[1]; + + /* hypotf で2点間の距離を求める */ + distance = hypotf(x_distant, y_distant); + + /* collision 判定 */ + if(distance < (my_radius+enemy_radius)) { + return true; + } + return false; + } +} +</pre></font> + +</div> + + +<div class="slide"> +<h1>爆発アニメーションの実装</h1> +<font size="5"><pre> +static void +blast_move(SceneGraphPtr node, int screen_w, int screen_h) +{ + if(node->sgid > BLAST8 && node->frame%blast_interval == 0) { + SceneGraphPtr next_blast = sgroot->createSceneGraph(node->sgid-1); + next_blast->frame = 1; + next_blast->set_move_collision(blast_move, null_collision); + node->addBrother(next_blast); + node->remove(); + } +} +</pre></font> + +</div> + + +<div class="slide"> +<h1>TODO</h1> +<ul> +<li>PS3 上でテスト</li> +<li>引き続き Dandy の実装</li> +<li>example を用いたテスト</li> +</ul> +</div> + + + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_11_10.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/11/10</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/11/10]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cell を用いた<br> +並列 Programming の為の<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<!-- +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +--> +<li>Cell 上のプログラムを簡単にテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>Multi Task を考慮した Dandy の実装</li> +<li>Multi Task Game の 準備</li> +</ul> +</div> + +<div class="slide"> +<h1>Multi Task を考慮した Dandy の実装</h1> +<h2>以下のような Task に分割</h2> +<ul> +<li>title 生成</li> +<li>次の面の xmlfile の読み込み</li> +<li>自機の操作(移動,発射)</li> +<li>自機と敵機・弾の当たり判定の計算</li> +</ul> +</div> + +<div class="slide"> +<h1>Multi Task Game の 準備</h1> +<ul> +<li>現在は viewer 内で1つの SceneGraphTree を生成、allExecute している</li> +<li>SceneGraphTree 一つにつき Task 一つ?</li> + +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_11_17.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/11/17</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/11/17]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<!-- +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +--> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>旧スーパーダンディの移植</li> +</ul> +</div> + +<div class="slide"> +<h1>旧ダンディの移植計画</h1> +<ul> +<li>構造体 CHARACTER = SceneGraph </li> +<li>active_chara_list, free_chara_list がある</li> +<li>当たり前だが CHARACTER で malloc している</li> +<li>Putenemy で SceneGraph 作成するように</li> +<li>その他</li> +</ul> +</div> + +<div class="slide"> +<h1>旧ダンディの移植</h1> +<h2>その他ファイル</h2> +<font size=5> +<table border=1 cellspacing=0> +<tr> +<td>syokika.c</td><td>main.ccと同じ widthやvideo_modeなどの設定</td> +</tr> +<tr> +<td>obj.c, LoadSprite.c</td><td>Renderer周り</td> +</tr> +<tr> +<td>Ss.c</td><td>サウンド</td> +</tr> +<tr> +<td>sankaku.c</td><td>sin, cos等の計算に使用</td> +</tr> +<tr> +<td>Enemy.c</td><td>Putenemyで敵を配置している 使ってない?</td> +</tr> +<tr> +<td>tama2.c</td><td>弾を作る Putenemy使用</td> +</tr> +<tr> +<td>tokuten.c</td><td>得点計算とスコア集計</td> +</tr> +<tr> +<td>collision.c</td><td>あたり判定 幅などの調整が必要そう</td> +</tr> +<tr> +<td>xml.c</td><td>xmlファイルの読み込み Ceriumと同じ</td> +</tr> +<tr> +<td>tree_controll.c</td><td>SceneGraphの旧バージョン</td> +</tr> +<tr> +<td>move.c</td><td>switchで行動の選択 StatePutternの前のバージョンか</td> +</tr> +<tr> +<td>trace.c</td><td>環境設定ファイルの読み込み</td> +</tr> +<tr> +<td>debug.c</td><td>デバッグ用</td> +</tr> +<tr> +<td>atari.c</td><td>collision.cの旧バージョン</td> +</tr> +<tr> +<td>count2.c</td><td>プレイヤー周りのState</td> +</tr> +</table> +</font> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_11_24.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,168 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/11/24</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/11/24]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<!-- +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +--> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する <font color="red">New</font></li> +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>ダンディ移植中</li> +</ul> +</div> + +<div class="slide"> +<h1>頻繁に登場する関数の書き換え</h1> +<ul> +<li>Puttama:Putenemyで弾の配置。引数で種類判別</li> +<li>DefSprite:オブジェクト情報の初期化</li> +<li>DefSpriteEx:オブジェクトの拡大・縮小、再配置</li> +<ul> +<li>拡大・縮小の実装</li> +</ul> +<li>PutSpriteEx:sptableにオブジェクト情報</li> +</ul> +</div> + +<div class="slide"> +<h1>state(move)</h1> +<ul> +<li>move_funcとして書き換え</li> +<li>他オブジェクトの情報を必要とする動作がある</li> +<ul> +<li>collisionの方へ移動</li> +</ul> +</div> + +<div class="slide"> +<h1>collision</h1> +<h2>collision.cc</h2> +<ul> +<li>関数atari内でif文を用いて分類している</li> +<li>goto文なんかもある</li> +<li>if文単位で別関数として分割する必要がある</li> +</ul> +</div> + +<div class="slide"> +<h1>様々な構造体</h1> +<font size="4"> +<h2>bom.h</h2> +<ul> +<li>bom</li> +</ul> +<h2>Character.h</h2> +<ul> +<li>enemy</li> +</ul> +<h2>sgoex.h</h2> +<ul> +<li>SGO_PAD->不要</li> +<li>SpriteView</li> +<li>SpriteTable</li> +</ul> +<h2>count2.h</h2> +<ul> +<li>player</li> +<li>tama</li> +<li>tama1</li> +<li>tama2</li> +<li>stge</li> +<li>laser</li> +</ul> +</font> +</div> + +<div class="slide"> +<h1>様々な構造体</h1> +<h2>要素</h2> +<font size="5"> +<ul> +<li>キャラクタ番号</li> +<li>x座標, y座標</li> +<li>幅・高さ</li> +<li>x倍率, y倍率</li> +<li>体力, 残機数, 倒した得点</li> +</ul> +</font> +<br> +<ul> +<li>似たような物が多い</li> +<li>Propertyに格納</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_12_08.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/12/08</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/12/08]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<!-- +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +--> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>collision</li> +<li>sgoex</li> +</ul> +</div> + +<div class="slide"> +<h1>collision</h1> +<ul> +<li>暫定的に関数名はcollision_00〜11に</li> +<li<各種パラメータはnode->stack_xyz[]で</li> +<li>collisionのセット</li> +<li>Playerも要書き換え</li> +</ul> +</div> + +<div class="slide"> +<h1>sgoex</h1> +<ul> +<li>DefSprite, PutSpriteの定義</li> +<li>sptableはそのまま?</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi09_12_22.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 09/12/22</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:09/12/22]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<!-- +<li>近年、CPU の性能向上はクロックの限界や発熱問題などからマルチコア化による +性能向上が図られている</li> +<li>マルチコア CPU の中でも、PlayStation3 に搭載されている Cell と呼ばれる CPU は、 +1つの PPE と8つの SPE をもつヘテロジニアス型のマルチコア CPU である</li> +<li>各 SPE は 256KB の LocalStore(LS) を持ち、 +必要に応じて MainMemory 上の Data を LS に Load して実行する</li> +<li>並列 Programming における計算の順序性と Cell 独自の仕様により、 +Cell 上での Program の Debug は通常の Program に比べて困難である</li> +--> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>DONE</h1> +<ul> +<li>collision.cc</li> +<li>Charactor_State.cc(move)</li> +</ul> +</div> + +<div class="slide"> +<h1>DOING</h1> +<ul> +<li>main.cc</li> +</ul> +</div> + +<div class="slide"> +<h1>main.cc</h1> +<ul> +<li>SDL周りの関数は使う?</li> +<li>lazer,jikiなんかの定義は?</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_01_19.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/01/19</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/01/19]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>Super Dandy</li> +<li>就活</li> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>XML読み込み箇所やOpenGL使用のポリゴン作成部分を排除</li> +<li>CHARACTORやSpriteTableをPropertyに書き直したいが…</li> +<font size="5"><pre> +typedef struct Property { + int no; + int x; + int y; + BOOL extend; + long rotate; + short scalex; + short scaley; + short dx; + short dy; + short w; + short h; + short mx; + short my; +} *PropertyPtr; +</pre></font> +<li>今月中には動かします..</li> +</ul> +</div> + +<div class="slide"> +<h1>就活</h1> +<ul> +<li>エントリー->作文</li> +<li>試験勉強->数学・物理</li> +<b><li>作品作成->ゲームプログラム勉強</li></b> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_02_05.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,197 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/02/05</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/02/05]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> + + + +</div> + +<div class="slide"> +<h1>Doing</h1> +<ul> +<li>就活</li> +</ul> +</div> + + +<div class="slide"> +<h1>クリ博フェスタ2011</h1> +<h2>Publisher</h2> +<font size=4> +<ul> +<li>アトラス</li> +<li>カプコン</li> +<li>コナミ</li> +<li>フロム・ソフトウェア</li> +</ul> +</font> +<h2>Developer</h2> +<font size=4> +<ul> +<li>イニス(ギタルマン, 戦え応援団)</li> +<li>イメージエポック(セブンスドラゴン, アークライズファンタジア)</li> +<li>ラクジン(DSサガ2)</li> +<li>ゲームフリーク(ポケモン)</li> +<li>アートディンク(A列車で行こう)</li> +</ul> +</font> +</div> + +<div class="slide"> +<h1>クリ博フェスタ2011</h1> +<h2>主な募集職種</h2> +<ul> +<li>プログラマー</li> +<li>プランナー => ポートフォリオ評価・道場</li> +<li>デザイナー</li> +</ul> + +<h2>プログラマーのお仕事</h2> +<ul> +<li>ゲームソフト開発</li> +<li>開発環境構築(ツール・ライブラリ)</li> +<li>試用版の設計</li> +</ul> + +</div> + + +<div class="slide"> +<h1>クリ博フェスタ2011</h1> +<h2>やってると嬉しいこと(プログラマ)</h2> +<ul> +<li>3Dプログラミング</li> +<li>マルチスレッド</li> +<li>グラフィック関連</li> +</ul> + +<h2>オススメ書籍</h2> +<ul> +<li>Game Programming Gem</li> +<li>Real Time Rendering</li> +</ul> + +</div> + + +<div class="slide"> +<h1>クリ博フェスタ2011</h1> +<h2>フロムのポートフォリオ講座</h2> +<ul> +<li>デッサン・3Dモデル</li> +<li>豪鬼のモデル持ち込み・自分の3Dモデル作成する猛者</li> +<li>ポートフォリオにストーリー・コンセプトを盛り込む</li> +</ul> + +<h2>Developerのお話</h2> +<ul> +<li>Publisherへの企画の提案</li> +<li>3社中2社がPublishingに意欲</li> +</ul> + +</div> + + +<div class="slide"> +<h1>エントリー中</h1> +<font size=4> +<ul> +<li>アイレム</li> +<li>カプコン</li> +<li>ゲームフリーク</li> +<li>コーエーテクモ</li> +<li>コナミ</li> +<li>スクウェア・エニックス</li> +<li>セガ</li> +<li>日本一ソフトウェア</li> +<li>ハドソン</li> +<li>ハル研究所</li> +<li>バンダイナムコ</li> +<li>フロム・ソフトウェア</li> +<li>プラチナゲームス</li> +<li>レベルファイブ</li> +</ul> +</font> +</div> + + +<div class="slide"> +<h1>予定</h1> +<h2>Webアンケート(という名のES)</h2> +<ul> +<li>セガ</li> +<li>コーエーテクモ</li> +</ul> + +<h2>説明会・適性検査</h2> +<ul> +<li>2月8日(月) スクウェア・エニックス 自社説明会(ES提出?)</li> +<li>2月9日(火) レベルファイブ 自社説明会・ES提出</li> +<li>2月18日(木) プラチナゲームス 自社説明会</li> +<li>2月19日(金) 任天堂 自社説明会</li> +<li>2月22日(月) アイレム 適性検査</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_04_20.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/04/20</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/04/20]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>現行のCeriumをテストした状態の物と比較する</li> +<li>Task の依存関係・実行順序も考慮する</li> +</ul></font> +</div> + +<div class="slide"> +<h1>就活のこと</h1> +<h2>私がゲーム会社に入るには</h2> +<ul> +<li>基本的なゲーム制作技術</li> +<li>3Dレンダリング技術優遇</li> +<li>and more...<li> +</ul> +</div> + +<div class="slide"> +<h1>就活のこと</h1> +<h2>目標</h2> +<ul> +<li>iPhoneインターフェースを用いたパズルゲーム</li> +<li>Cgシェーダを用いた3Dポリゴンビューワ</li> +<li>PlayStation3上で動作する超弾帝</li> +</ul> +<h2>やっていること</h2> +<ul> +<li>パズルゲーム</li> +<li>Cgによる鏡面反射・トゥーンレンダリング</li> +<li>超弾帝</li> +</ul> +</div> + +<div class="slide"> +<h1>パズルゲーム(Fall_Blocks)</h1> +<h2>仕様</h2> +<ul> +<li>ぷよぷよ的なルール</li> +<li>タッチパネルを用いた直感操作</li> +<li>加速度センサーを用いたブロックの移動</li> +<li>フリックやピンチを用いた何か</li> +</ul> + +<h2>実装</h2> +<ul> +<li>set_move_collision</li> +<li>フリック・ピンチを定義したPad</li> +</ul> +</div> + +<div class="slide"> +<h1>就活のこと</h1> +<h2>開発・SE</h2> +<font size=4> +<ul> +<li>富士通パブリックソリューションズ</li> +<li>ソフトウェア情報開発</li> +</ul> +</font> + +<h2>ゲーム</h2> +<font size=4> +<ul> +<li>イメージエポック</li> +<li>ラクジン</li> +<li>日本一ソフトウェア</li> +<li>アトラス</li> +<li>バンダイナムコ</li> +<li>ヘキサドライブ</li> +</ul> +</font> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_06_08.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/06/08</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/06/08]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cell 上のプログラムをテストしたい</li> +<li>当研究室で開発した Cerium Game Engine を使用する</li> +<li>Task 単位での単体テストをする</li> +<li>Input データと Output データを比較する</li> +<li>ゲームならではのテスト(Collisionなど)も実施</li> +<li>Task の依存関係・実行順序も考慮する</li> +<li>視覚的にわかりやすいテスト環境を</li> +<li>最終的に上記を考慮した Test Framework を作る</li> +</ul></font> +</div> + +<div class="slide"> +<h1>就活のこと</h1> +<ul> +<li>内定1社</li> +<li>進行中1社</li> +</ul> +以上 +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_07_13.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/07/13</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/07/13]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cerium を使った Game Program のバグ取りを簡単にしたい</li> +<li>Task 単位での単体テストをする</li> +<li>Input データと Output データを比較する</li> +<li>ゲームならではのテスト(Collisionなど)も実施</li> +<li>Task の依存関係・実行順序も考慮する</li> +<li>最終的に上記を考慮した Test Framework を作る</li> +</ul></font> +</div> + +<div class="slide"> +<h1>就活のこと</h1> +<ul> +<li>本命内定(東京都品川区東品川)</li> +<li>就活終了</li> +</ul> +</div> + +<div class="slide"> +<h1>研究のこと</h1> +<ul> +<li>とりあえず Super Dandy の移植開発はカイトと共同</li> +<li>テスト関連の書籍や論文読み</li> +<li>テスト</li> +<li>学会発表での流れの構築</li> +</ul> +</div> + +<div class="slide"> +<h1>予定しているテスト対象</h1> +<ul> +<li>Property の値</li> +<li>SPE に送っている Task</li> +<li>各 Object の Collision</li> +<li>Dandy を作る過程で発生した API</li> +</ul> +</div> + +<div class="slide"> +<h1>課題</h1> +<ul> +<li>元の Program を壊さずにテストできるか</li> +<li>値やメモリのチェック</li> +<li>全体テスト(視覚的?)</li> +<li>そもそもどんな風に研究に落とし込むか</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_07_20.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/07/20</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/07/20]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>Cerium を使った Game Program のバグ取りの手助けをしたい</li> +<li>Task 単位での単体テストをする</li> +<li>Input データと Output データを比較する</li> +<li>ゲームならではのテスト(Collisionなど)も実施</li> +<li>Task の依存関係・実行順序も考慮する</li> +<li>最終的に上記を考慮した Test Framework を作る</li> +</ul></font> +</div> + +<div class="slide"> +<h1>Task List</h1> +<ul> +<li> OpenGL version</li> +<li>Dandy の Test</li> +</ul> +</div> + +<div class="slide"> +<h1>Dandy の OpenGL version</h1> +<ul> +<li>C で記述</li> +<li>2面ボス以降も動作確認</li> +<li>XMLファイルを使用していない</li> +<li>OpenGLを保持したまま木構造で格納->新しいSceneGraph?</li> +</ul> +</div> + +<div class="slide"> +<h1>Dandy の Test</h1> +<ul> +<li>参考書読み読み</li> +<li>どうやって研究として落としこむの?</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_07_27.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/07/27</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/07/27]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>学生実験において PlayStation3 を用いた Game Program の作成を行っている</li> +<li>Cell 用の Program の記述をする必要がある</li> +<li>Sequential なProgram に比べて動作の保証が難しい</li> +<li>Cell 上で動作するGame Program の信頼性を上げたい</li> +<li>Cerium を使った Game Program のテストを行う</li> +<li>Task 単位での単体テストをする</li> +<li>Input データと Output データを比較する</li> +<li>Task の依存関係・実行順序も考慮する</li> +<li>最終的に上記を考慮した Test Framework を作る</li> +</ul></font> +</div> + +<div class="slide"> +<h1>今週やったこと</h1> +<ul> +<li>Cerium OpenGL Ver</li> +</ul> +</div> + +<div class="slide"> +<h1>仕様</h1> +<ul> +<li>OpenGL を用いてレンダリングを行う</li> +<li>MacOSX上での高速な動作を目的とする</li> +<li>Viewer と ViewerDevice 一体型</li> +<li>通常の計算(Move, Collision)はそのまま</li> +<li>描画部分は Task を使わず、OpenGL で SceneGraph から直に描画</li> +</ul> +</div> + +<div class="slide"> +<h1>プロセス</h1> +<ul> +<li>SceneGraphの走査 -> CreatePolygonFromSceneGraphを参照</li> +<li>OpenGLによる描画 -> testglを参照</li> +<li>task生成、レンダリング部分をカット</li> +</ul> +</div> + +<div class="slide"> +<h1>SceneGraph</h1> +<ul> +<li>coord_xyz[]</li> +<li>coord_tex[]</li> +<li>normal[]</li> +</ul> +</div> + +<div class="slide"> +<h1>OpenGL</h1> +<ul> +<li>glVertex3f</li> +<li>glTexCoord2f</li> +<li>glNormal3f</li> +</ul> +</div> + +<div class="slide"> +<h1>task生成・レンダリング部分のカット</h1> +<ul> +<li>mainLoop -> initLoop -> post2runLoop -> run_loop -> ... -> post2runLoop</li> +<li>mainLoop -> run_loop -> <font color="red">obj_draw</font> -> mainLoop</li> +</ul> +</div> + +<div class="slide"> +<h1>今後の予定</h1> +<ul> +<li>Textureの生成</li> +<li>SceneGraphの中にSDL_Surface型のtexture_image</li> +<li>SDL_Surface -> OpenGLが可能</li> +</ul> +</div> + +<div class="slide"> +<h1>もくじ</h1> +<ul> +<li>研究背景・目的</li> +<li>Cerium とは</li> +<li>Cerium を用いた Game Program の仕組み</li> +<li>Game Program のテスト手法</li> +<li>テスト</li> +<li>考察</li> +<li>参考文献</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_08_03.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/08/03</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/08/03]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>学生実験において PlayStation3 を用いた Game Program の作成を行っている</li> +<li>Cell 用の Program の記述をする必要がある</li> +<li>Sequential なProgram に比べて動作の保証が難しい</li> +<li>Cell 上で動作するGame Program の信頼性を上げたい</li> +<li>Cerium を使った Game Program のテストを行う</li> +<li>Task 単位での単体テストをする</li> +<li>Input データと Output データを比較する</li> +<li>Task の依存関係・実行順序も考慮する</li> +<li>最終的に上記を考慮した Test Framework を作る</li> +</ul></font> +</div> + +<div class="slide"> +<h1>今週やったこと</h1> +<ul> +<li>Cerium OpenGL Ver</li> +<li>Super Dandy task Ver</li> +</ul> +</div> + +<div class="slide"> +<h1>Cerium OpenGL Ver できたこと</h1> +<ul> +<li>動作確認</li> +<li>描画位置最適化</li> +<li>光源追加</li> +</ul> +</div> + +<div class="slide"> +<h1>Cerium OpenGL Ver これから</h1> +<ul> +<li>動作し続けると重くなる</li> +<li>ループ中でSDL_GL_LoadTextureを呼び出しているのが原因</li> +<li>SDL_GL_LoadTextureは最初の一回だけ呼ぶようにする</li> +<li>ビデオモードによりSDL_GL_LoadTextureを呼ぶかどうかを判断する</li> +</ul> +</div> + +<div class="slide"> +<h1>Cerium OpenGL Ver これから</h1> +<ul> +<li>glBlendFunc, glEnable(GL_BLEND)を用いても透過処理できない</li> +<li>ポリゴンRGBAのみで描画すると透過がうまくいかないことがあるらしい</li> +<li>ポリゴンRGBAxテクスチャRGBAで描画などをやったがダメだった</li> +<li>どうやら違う問題らしい?テクスチャRGBAを疑ってみる</li> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy task Ver</h1> +<ul> +<li>間違った箇所を参照するバグを修正</li> +<li>描画が正常に行われない</li> +<li>set_move_task〜set_game_taskが問題?バグ取り続行</li> +</ul> +</div> + +<div class="slide"> +<h1>今後の予定</h1> +<ul> +<li>Super Dandy の1面or2面の実装</li> +<li>バグ取り</li> +<li>参考文献読み</li> +<li>予稿制作</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_08_10.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/08/10</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/08/10]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>我々は学生実験においてPlayStation3を用いたGameProgramの作成を行っている</li> +<li>PlayStation3上の開発ではCell Architectureを考慮した並列プログラミングが必要である</li> +<li>そこで当研究室ではCerium Game Engineを開発した</li> +<li>CeriumではObjectの描画やMove,Collisionを全てTaskという単位で管理している</li> +<li>しかしSequentialなProgramに比べて期待した動作を保証する事が難しい</li> +<li>本研究ではCeriumを用いたGameProgramの信頼性を上げることを目的とする</li> +<li>Task単位での単体テストを行う</li> +<li>Input DataとOutput Dataの比較を行う</li> +<li>Taskの依存関係・実行順序も考慮する</li> +<li>最終的には上記のテストから得られた結果を元にTest Frameworkの作成を行う</li> +</ul></font> +</div> + +<div class="slide"> +<h1>今週やったこと</h1> +<ul> +<li>Cerium OpenGL の透過処理</li> +<li>Super Dandy</li> +</ul> +</div> + +<div class="slide"> +<h1>Cerium OpenGL の透過処理</h1> +<ul> +<li>透過処理完了</li> +<li>以下の箇所にコードを追加</li> +<pre> + glEnable(GL_DEPTH_TEST); + <font color=red>glEnable(GL_ALPHA_TEST); + glAlphaFunc(GL_GREATER, 0);</font> + glDepthFunc(GL_LESS); + glShadeModel(GL_SMOOTH);</li> +</pre> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>EXC_BAD_ACCESSなバグの処理</li> +<li>PropertyにcreateSceneGraphでもらったアドレスを格納->使用していたのが原因</li> +<li>allExecuteでSceneGraphの再生成をする為、上記のアドレスは使えない</li> +<li>毎フレームSceneGraphのアドレスを取ってくる必要がある</li> +<li>とりあえずMove関数でSceneGraphのアドレスをPropertyに格納してみる</li> +<li>TaskでPropertyの値を計算</li> +<li>post_funcでPropertyの値をSceneGraphに反映させる</li> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>描画に反映されていない</li> +<li>毎フレームSceneGraphの座標を加算しているが反映されていない</li> +<li>処理の順序が以下のようになっている気がする</li> +<ol> +<li>allExecute(SceneGraphの破棄&生成)</li> +<li>描画</li> +<li>post_funcで反映</li> +</ol> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>allExecute&全Taskの実行順序を調べてみる</li> +<ul> +<font size=6><ol> +<li>DataAllocate</li> +<li>LoadTexture</li> +<font color=red><li>allExecute</li></font> +<li>GameTask</li> +<font color=green><li>CreatePolygonFromSceneGraph</li></font> +<li>GameTask->post_func</li> +<li>CreateSpan</li> +<li>DataUpdate</li> +<font color=red><li>allExecute</li></font> +<li>GameTask</li> +<font color=green><li>CreatePolygonFromSceneGraph</li></font> +<li>TitleMove->post_func</li> +<li>CreateSpan</li> +<li>DataUpdate</li> +<li>DrawSpanたくさん</li> +<font color=red><li>allExecute</li></font> +</ol></font> +</ul> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>post_funcがTaskの直後に実行されていない(バグ?しかしFifo)</li> +<li>post_funcじゃなくてMove関数で反映させれば関係ない(しかし1フレーム遅れる)</li> +<li>DrawTaskとGameTaskを一緒に管理できる仕組みが欲しい</li> +<li>DrawTask->wait_for(GameTask)とか出来ると良い</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_10_12.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/10/12</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/10/12]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>我々は学生実験においてPlayStation3を用いたGameProgramの作成を行っている</li> +<li>PlayStation3上の開発ではCell Architectureを考慮した並列プログラミングが必要である</li> +<li>そこで当研究室ではCerium Game Engineを開発した</li> +<li>CeriumではObjectの描画やMove,Collisionを全てTaskという単位で管理している</li> +<li>しかしSequentialなProgramに比べて期待した動作を保証する事が難しい</li> +<li>本研究ではCeriumを用いたGameProgramの信頼性を上げることを目的とする</li> +<li>Task単位の単体テスト</li> +<li>Input DataとOutput Dataの比較</li> +<li>Taskの依存関係・実行順序</li> +<li>可視化?</li> +</ul></font> +</div> + +<div class="slide"> +<h1>学会発表について</h1> +<ul> +<li>発表締切:10月20日 ディペンダブルコンピューティング研究会[鳥取](2011年12月10日)</li> +<li>発表締切:11月5日 コンピュータシステム研究会[東京](1月17日 - 1月18日)</li> +<li>発表締切:11月15日 コンカレント工学研究会[山口](2011年1月20日 - 1月21日)</li> +<li>発表締切:1月7日 ネットワークシステム研究会[沖縄](2011年3月3日 - 3月4日)</li> +<li>発表締切:未定 ソフトウェアサイエンス研究会[沖縄](2011年3月7日 - 3月8日)</li> +</ul> +<br> +*発表締切順 +</div> + +<div class="slide"> +<h1>学会発表について</h1> +<ul> +<li>発表締切:10月20日 ディペンダブルコンピューティング研究会[鳥取](2011年12月10日)</li> +<font color=blue> +<li>発表締切:11月5日 コンピュータシステム研究会[東京](1月17日 - 1月18日)</li> +<li>発表締切:11月15日 コンカレント工学研究会[山口](2011年1月20日 - 1月21日)</li> +</font> +<font color=red> +<li>発表締切:1月7日 ネットワークシステム研究会[沖縄](2011年3月3日 - 3月4日)</li> +<li>発表締切:未定 ソフトウェアサイエンス研究会[沖縄](2011年3月7日 - 3月8日)</li> +</font> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>dependency の追加</li> +<img src="image/dependency.png" width="100%" height="50%" alt="dependency"><br> +</ul> +</div> + +<div class="slide"> +<h1>Super Dandy</h1> +<ul> +<li>Pad の値を task に渡して計算する例題完了</li> +<li>各 SceneGraph の move 関数で Property の値を SceneGraph に反映していた</li> +<li>汎用的ではない</li> +<li>post_func で値の反映をしたい</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_10_19.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/10/19</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/10/19]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + + +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>我々は学生実験においてPlayStation3を用いたGameProgramの作成を行っている</li> +<li>PlayStation3上の開発ではCell Architectureを考慮した並列プログラミングが必要である</li> +<li>そこで当研究室ではCerium Game Engineを開発した</li> +<li>CeriumではObjectの描画や動きを全てTaskという単位で管理している</li> +<li>しかしSequentialなProgramに比べて期待した動作を保証する事が難しい</li> +<li>本研究ではCeriumを用いたGameProgramの信頼性を上げることを目的とする</li> +<li>Task単位の単体テスト</li> +<li>Input DataとOutput Dataの比較</li> +<li>Taskの依存関係・実行順序</li> +<li>並列度の低い部分を知らせる</li> +<li>可視化</li> +</ul></font> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>色々なタイミングで Bad_Access になる問題の発生</li> +<li>メモリの allocate 時のサイズの指定が問題だった</li> +<li>メモリの allocate の不具合を解消</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>Property の値が不正に変わる問題の発生</li> +<li>init 時、task 実行時、post_function 実行時でそれぞれ検証</li> +<li>init 時の data と task 実行時の inData、outData は正常</li> +<li>init 時の data と post_func 時の data の address は一致</li> +<li>post_func 時の data が異常</li> +<li>何が原因かわからない…</li> +<li>TaskArray への対応を先にやる</li> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<h2>前回の実装</h2> +<img src="image/dependency.png" width="70%" height="40%" alt="dependency"><br> +<ul> +<li>GameTask 部分と CreatePorygonFromSG 部分が TaskArray 化できそう</li> +<li>とりあえず GameTask 部分を実装してみる</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>GameTask をまとめる TaskArray を SceneGraphRoot に用意</li> +<li>Application ではまず TaskArray の init をする</li> +<li>あとは set_move_task で TaskArray に Task を追加してゆく</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>ゲームには自機や複数の種類の敵がいる(Task の種類も様々)</li> +<li>1つの TaskArray に色々な種類の Task が入るのか?</li> +<li>入りそうだからとりあえず実装してみる</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_10_26.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,170 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/10/26</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/10/26]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<!-- +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>我々は学生実験においてPlayStation3を用いたGameProgramの作成を行っている</li> +<li>PlayStation3上の開発ではCell Architectureを考慮した並列プログラミングが必要である</li> +<li>そこで当研究室ではCerium Game Engineを開発した</li> +<li>CeriumではObjectの描画や動きを全てTaskという単位で管理している</li> +<li>しかしSequentialなProgramに比べて期待した動作を保証する事が難しい</li> +<li>本研究ではCeriumを用いたGameProgramの信頼性を上げることを目的とする</li> +<li>Task単位の単体テスト</li> +<li>Input DataとOutput Dataの比較</li> +<li>Taskの依存関係・実行順序</li> +<li>並列度の低い部分を知らせる</li> +<li>可視化</li> +</ul></font> +</div> +--> + +<div class="slide"> +<h1>今週の作業内容</h1> +<ul> +<li>Debug</li> +<li>TaskArray への対応</li> +<li>Dandy 移植のアプローチ考察</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<h2>Debug</h2> +<ul> +<li>TaskArray 使用 -> 謎の Bad Access</li> +<li>App->init で TaskArray を生成していた</li> +<li>App->init は一度しか呼ばれない</li> +<li>毎フレーム TaskArray を生成する必要がある</li> +<li>Renderer 側で TaskArray 生成に必要な値(Task_id, Task_num, param, inData_num, outData_num) を保持しないといけない</li> +<li>全部 SceneGraphRoot に持たせるのは嫌なので新しい class にまとめる</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<h2>GTaskArray の作成</h3> +<pre> +<code> +<font size="4"> +class GTaskArray { +public: + GTaskArray(void); + ~GTaskArray(void); + + HTaskPtr game_task_array; + TaskPtr game_task; + + int task_id; + int task_num; + int param_num; + int inData_num; + int outData_num; + + void init(int id, int task, int param, int inData, int outData); + void create_task_array(TaskManager *manager); + void next_task_array(int id); + void finish(); + HTaskPtr get_task_array(){return game_task_array;} +}; +</font> +</code> +</pre> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<h2>TaskArray への対応</h2> +<ul> +<li>SceneGraphRoot が GTaskArray をもつ</li> +<li>GTaskArray の init の有無によって TaskArray を使用するか判断</li> +<li>Application 側では最初の init と task の設定だけでおk</li> +<li>TaskArray を用いずに SimpleTask を使える API も作る?</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<h2>SceneGraph の値の更新について</h2> +<ul> +<li>各 Task の post_func で更新</li> +<li>SPE に SceneGraph そのものを送る -> パラメータが汎用的でない</li> +<li>TaskArray の post_func で更新</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<li>移植のアプローチ</li> +<ul> +<li>allExecute なので schedule, collision によって SceneGraph木 を書き換えていく</li> +<li>同期をどうするか</li> +<li>Move->Collision->Rendering が望ましいが並列的でない</li> +<li>過去書いたソース(PutEnemy, Move関数)は再利用できる、と信じている</li> +<li>特に直書きパラメータは利用したい</li> +</ul> +</div> + +<div class="slide"> +<h1>研究内容</h1> +<h2>どんな研究に落とし込む?</h2> +<ul> +<li>可視化</li> +<li>並列度, Dependency, SPE のLS</li> +<li></li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_11_09.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/11/09</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/11/09]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<!-- +<div class="slide"> +<h1>研究背景・目的</h1> +<font size="5"><ul> +<li>我々は学生実験においてPlayStation3を用いたGameProgramの作成を行っている</li> +<li>PlayStation3上の開発ではCell Architectureを考慮した並列プログラミングが必要である</li> +<li>そこで当研究室ではCerium Game Engineを開発した</li> +<li>CeriumではObjectの描画や動きを全てTaskという単位で管理している</li> +<li>しかしSequentialなProgramに比べて期待した動作を保証する事が難しい</li> +<li>本研究ではCeriumを用いたGameProgramの信頼性を上げることを目的とする</li> +<li>Task単位の単体テスト</li> +<li>Input DataとOutput Dataの比較</li> +<li>Taskの依存関係・実行順序</li> +<li>並列度の低い部分を知らせる</li> +<li>可視化</li> +</ul></font> +</div> +--> + +<div class="slide"> +<h1>今週の作業内容</h1> +<ul> +<li>SimpleTask 対応</li> +<li>Define</li> +</ul> +</div> + +<div class="slide"> +<h1>SimpleTask 対応</h1> +<ul> +<li>set_gtask_array と set_game_task に分けた</li> +<li>TaskArray と SimpleTask で作れるようになった</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>SimpleTask で実装</li> +<li>取りあえず dependency とか pipeline とか考えない</li> +<li>以前のバグは swap で解決</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>ENEMY_STATUS_TABLE や DefSprite で初期化された値を Property に格納</li> +<li>Property はキャラクター毎の ID で参照 (過去のソース流用)</li> +</ul> +</div> + +<div class="slide"> +<h1>超弾帝</h1> +<ul> +<li>Move は SPE で</li> +<li>Collision は PPE?</li> +<li>できれば SPE でやりたい</li> +<li>add_inData の数が可変</li> +<li>汎用的な Task 生成 API が必要</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_12_14.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/12/14</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/12/14]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>概要</h1> +<font size="5"><ul> +<li>当研究室ではこれまで家庭用ゲーム機上での開発を行ってきた。過去には PlayStation や PlayStation2、 GameBoyAdvance を用いており、現在は PlayStation3(以下 PS3) て動作するゲーム開発を行っている。</li> +<li>PS3 の Archtecture である CellBroadbandEngine では複数の SPE を使用する並列プログラミングが求められている。</li> +<li>そこで当研究室では CeriumGameEngineを 開発した。Cerium では Program 動作や使用するデータを全て Task という単位で管理している。この Task を各 SPE に渡し、Pipeline で実行することで Program を動作させている</li> +<li>しかし Task の Dependency や データの同期の問題があり、Sequential に書いたコードと同じ動作を保証するのは難しい</li> +<br> +<li>本研究では Cerium を用いた GameProgram を使った実験を行い、期待した動作を保証できるテスト手法の提案をする。</li> +<li>また GameProgram の並列度やパフォーマンスを向上させる事を目的とする。</li> +</ul></font> +</div> + +<div class="slide"> +<h1>Task Dandy</h1> +<ul> +<li>MoveとCollisionのTask化</li> +<li>必要なパラメータを add_inDataし、set_post で値を更新</li> +<li>送ったデータ量はCollisionで約7KB(Moveだともっと少ない)</li> +<li>SPEに置くバイナリデータは現状で約100KB</li> +<li>TaskのDependencyの設定が必要</li> +</ul> +</div> + +<div class="slide"> +<h1>Task Dandy</h1> +<ul> +<li>Player、tokutenのTask化も</li> +<li>SPE内でのPutSprite, Putenemyの扱い<br> +(入力されたデータを保持して返す、renew_task->post_func)</li> +<li>データ毎に最適化が必要</li> +<li>1frame内に複数回書き換え&SPE間で共用->mainMem_alloc?</li> +<li>共通のデータを使用するTaskは同じSPEで(Dataはglobal_alloc)</li> +</ul> +</div> + +<div class="slide"> +<h1>論文内容</h1> +<ul> +<li>Task の Pipeline の図示(開始、終了時間を記録する)</li> +<li>Task の Dependency の可視化</li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semi10_12_21.html Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>ゼミ資料 10/12/21</title> +<!-- metadata --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="presdate" content="20050728" /> +<meta name="author" content="Eric A. Meyer" /> +<meta name="company" content="Complex Spiral Consulting" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>[date:10/12/21]</h1> +<h2>発表資料</h2> +</div> + +</div> + + + +<div class="presentation"> + + +<div class="slide"> +<h1>Cerium を用いた<br> +Game Programming における<br> +テスト手法の提案</h1> +<h3>小林 佑亮</h3> +<h4>琉球大学 理工学研究科 情報工学専攻</h4> +<h4>No.098581D</h4> +</div> + +<div class="slide"> +<h1>概要</h1> +<font size="5"><ul> +<li>当研究室ではこれまで家庭用ゲーム機上での開発を行ってきた。過去には PlayStation や PlayStation2、 GameBoyAdvance を用いており、現在は PlayStation3(以下 PS3) て動作するゲーム開発を行っている。</li> +<li>PS3 の Archtecture である CellBroadbandEngine では複数の SPE を使用する並列プログラミングが求められている。</li> +<li>そこで当研究室では CeriumGameEngineを 開発した。Cerium では Program 動作や使用するデータを全て Task という単位で管理している。この Task を各 SPE に渡し、Pipeline で実行することで Program を動作させている</li> +<li>Task には処理する CPU や Dependency を設定できる。</li> +<li>しかし現在、ゲーム開発に必要なパフォーマンスは発揮されていない。</li> +<br> +<li>本研究では Cerium 用に開発したゲームプログラムを用いてテストを行う。</li> +Task の Pipeline 処理、Dependency を確認できるテスト環境を用意し、それによって得られた結果を元に +パフォーマンスの向上を目指す。 +</li> +</ul></font> +</div> + +<div class="slide"> +<h1>研究会</h1> +<ul> +<li>3月3日-3月4日 : ネットワークシステム研究会(申し込み締切り:1月7日)</li> +<li>3月7日-3月8日 : ソフトウェアサイエンス研究会(申し込み締切り:1月19日)</li> +</ul> +</div> + +<div class="slide"> +<h1>Pipeline</h1> +<ul> +<li>Task を送った時間とメールを受け取った時間、送ったSPE 番号</li> +<li></li> +</ul> +</div> + +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/framing.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/iepngfix.htc Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,42 @@ +<public:component> +<public:attach event="onpropertychange" onevent="doFix()" /> + +<script> + +// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com +// Free usage permitted as long as this notice remains intact. + +// This must be a path to a blank image. That's all the configuration you need here. +var blankImg = 'ui/default/blank.gif'; + +var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; + +function filt(s, m) { + if (filters[f]) { + filters[f].enabled = s ? true : false; + if (s) with (filters[f]) { src = s; sizingMethod = m } + } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; +} + +function doFix() { + if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) || + (event && !/(background|src)/.test(event.propertyName))) return; + + if (tagName == 'IMG') { + if ((/\.png$/i).test(src)) { + filt(src, 'image'); // was 'scale' + src = blankImg; + } else if (src.indexOf(blankImg) < 0) filt(); + } else if (style.backgroundImage) { + if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) { + var s = RegExp.$1; + style.backgroundImage = ''; + filt(s, 'crop'); + } else filt(); + } +} + +doFix(); + +</script> +</public:component> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/opera.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/outline.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/pretty.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,86 @@ +/* Following are the presentation styles -- edit away! */ + +body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;} +:link, :visited {text-decoration: none; color: #00C;} +#controls :active {color: #88A !important;} +#controls :focus {outline: 1px dotted #227;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;} +.slide code.bad, code del {color: red;} +.slide code.old {color: silver;} +.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +.slide pre code {display: block;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} +.slide img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #AAB; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1; + margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap; + font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize; + color: #DDE; background: #005;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; left: 50%; bottom: 0; + width: 50%; + text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;} +html>body div#controls {position: fixed; padding: 0 0 1em 0; + top: auto;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0; padding: 0;} +#controls #navLinks a {padding: 0; margin: 0 0.5em; + background: #005; border: none; color: #779; + cursor: pointer;} +#controls #navList {height: 1em;} +#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; background: #DDD; color: #227;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #449;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; + font: bold 2em Helvetica, sans-serif; white-space: normal; + color: #000; background: transparent;} +#slide0 h2 {font: bold italic 1em Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #77B;} + +.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;} +img.incremental {visibility: hidden;} +.slide .current {color: #B02;} + + +/* diagnostics + +li:after {content: " [" attr(class) "]"; color: #F88;} + */ \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/print.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */ .slide, ul {page-break-inside: avoid; visibility: visible !important;} h1 {page-break-after: avoid;} body {font-size: 12pt; background: white;} * {color: black;} #slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;} #slide0 h3 {margin: 0; padding: 0;} #slide0 h4 {margin: 0 0 0.5em; padding: 0;} #slide0 {margin-bottom: 3em;} h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;} .extra {background: transparent !important;} div.extra, pre.extra, .example {font-size: 10pt; color: #333;} ul.extra a {font-weight: bold;} p.example {display: none;} #header {display: none;} #footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;} #footer h2, #controls {display: none;} /* The following rule keeps the layout stuff out of print. Remove at your own risk! */ .layout, .layout * {display: none !important;} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/s5-core.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/slides.css Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */ \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/default/slides.js Tue Dec 28 14:42:48 2010 +0900 @@ -0,0 +1,553 @@ +// S5 v1.1 slides.js -- released into the Public Domain +// +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var s5mode = true; +var defaultView = 'slideshow'; +var controlVis = 'visible'; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + if (isOp) continue; + + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + cs.innerHTML = '<span id="csHere">' + snum + '<\/span> ' + + '<span id="csSep">\/<\/span> ' + + '<span id="csTotal">' + (smax-1) + '<\/span>'; + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + var jl = document.getElementById('jumplist'); + var cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + } else + snum = parseInt(jl.value); + var nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + snum = 0; + } + if (step < 0) {incpos = incrementals[snum].length} else {incpos = 0;} + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) + incpos = i + 1; + else + addClass(incrementals[snum][i], 'incremental'); + } + } + if (incrementals[snum].length > 0 && incpos > 0) + addClass(incrementals[snum][incpos - 1], 'current'); + ce.style.visibility = 'hidden'; + ne.style.visibility = 'visible'; + jl.selectedIndex = snum; + currentSlide(); + number = 0; +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos],'current'); + incpos++; + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + } +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + if (!slides.disabled) { + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize('1em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': obj.style.visibility = 'visible'; break; + case 'h': obj.style.visibility = 'hidden'; break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +// 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/) +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (key.which == 84) { + toggle(); + return; + } + if (s5mode) { + switch (key.which) { + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 36: // home + goTo(0); + break; + case 35: // end + goTo(smax-1); + break; + case 67: // c + showHide('k'); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else target = e.target; + if (target.getAttribute('href') != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + controlsDiv.innerHTML = '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks">' + + '<a accesskey="t" id="toggle" href="javascript:toggle();">Ø<\/a>' + + '<a accesskey="z" id="prev" href="javascript:go(-1);">«<\/a>' + + '<a accesskey="x" id="next" href="javascript:go(1);">»<\/a>' + + '<div id="navList"' + hideList + '><select id="jumplist" onchange="go(\'j\');"><\/select><\/div>' + + '<\/div><\/form>'; + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +function fontScale() { // causes layout problems in FireFox that get fixed if browser's Reload is used; same may be true of other Gecko-based browsers + if (!s5mode) return false; + var vScale = 22; // both yield 32 (after rounding) at 1024x768 + var hScale = 32; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + fontSize(newSize + 'px'); + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.display = 'none'; + obj.style.display = 'block'; + } +} + +function fontSize(value) { + if (!(s5ss = document.getElementById('s5ss'))) { + if (!isIE) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!isIE) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('body {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('body','font-size: ' + value + ' !important;'); + } +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if (isIE && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url(ui/default/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url(ui/default/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url(ui/default/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + } +} + +// Key trap fix, new function body for trap() +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +function startup() { + defaultCheck(); + if (!isOp) + createControls(); + slideLabel(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + notOperaFix(); + incrementals = createIncrementals(); + slideJump(); + if (defaultView == 'outline') { + toggle(); + } + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; + } +} + +window.onload = startup; +window.onresize = function(){setTimeout('fontScale()', 50);} \ No newline at end of file