annotate presen/pre.html @ 16:7856523eef7e

fix presen
author aaa
date Wed, 17 Feb 2010 19:00:22 +0900
parents 0786f5b33f5f
children 5f9478510c44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
afa29ac9f050 add presen
aaa
parents:
diff changeset
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
afa29ac9f050 add presen
aaa
parents:
diff changeset
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
afa29ac9f050 add presen
aaa
parents:
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
afa29ac9f050 add presen
aaa
parents:
diff changeset
5 <head>
12
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
6 <!--<title>SceneGraph を用いたマルチコア CPU 向けゲームの処理</title> -->
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
7 <title>マルチコア CPU 上における SceneGraph を用いたゲームの作成</title>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
8 <meta name="copyright"
afa29ac9f050 add presen
aaa
parents:
diff changeset
9 content="Copyright &#169; 2005 your copyright notice" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
10 <link rel="stylesheet" type="text/css" media="screen, projection, print"
afa29ac9f050 add presen
aaa
parents:
diff changeset
11 href="./slidy.css" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
12 <link rel="stylesheet" type="text/css" media="screen, projection, print"
afa29ac9f050 add presen
aaa
parents:
diff changeset
13 href="./user.css" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
14 <script src="./slidy.js"
afa29ac9f050 add presen
aaa
parents:
diff changeset
15 type="text/javascript"></script>
afa29ac9f050 add presen
aaa
parents:
diff changeset
16 <style type="text/css">
afa29ac9f050 add presen
aaa
parents:
diff changeset
17 <!-- your custom style rules -->
afa29ac9f050 add presen
aaa
parents:
diff changeset
18 </style>
afa29ac9f050 add presen
aaa
parents:
diff changeset
19 </head>
afa29ac9f050 add presen
aaa
parents:
diff changeset
20 <body>
afa29ac9f050 add presen
aaa
parents:
diff changeset
21
afa29ac9f050 add presen
aaa
parents:
diff changeset
22 <div class="slide cover">
afa29ac9f050 add presen
aaa
parents:
diff changeset
23 <center>
12
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
24 <h1>マルチコア CPU における<br> SceneGraph を用いたゲームの作成</h1>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
25 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
26 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
27 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
28 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
29 <ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
30 <li>琉球大学 工学部 情報工学科 065746J
afa29ac9f050 add presen
aaa
parents:
diff changeset
31 <li>仲宗根広樹
afa29ac9f050 add presen
aaa
parents:
diff changeset
32 <li>指導教官:河野真治
afa29ac9f050 add presen
aaa
parents:
diff changeset
33 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
34 </center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
35 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
36
afa29ac9f050 add presen
aaa
parents:
diff changeset
37 <div class="slide pre">
afa29ac9f050 add presen
aaa
parents:
diff changeset
38 <h1>研究目的と背景</h1>
11
aac2e16af8c4 fix presen
aaa
parents: 8
diff changeset
39 <font size="6"><sup><b>高度な並列性を持つゲームマシンの性能を生かすために<br>プログラムの並列度を向上させる</b></sup></font>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
40 <ul style="line-height: 1.2;">
afa29ac9f050 add presen
aaa
parents:
diff changeset
41 <li>当研究室では、学生実験で PlayStation 3 上でゲームプログラミングを行っている。
afa29ac9f050 add presen
aaa
parents:
diff changeset
42 <ul style="line-height: 1.2;">
afa29ac9f050 add presen
aaa
parents:
diff changeset
43 <li>ゲーム中の一つの場面を構成するオブジェクトやその振る舞い<br>ゲームのルールの集合である SceneGraph を導入した。
afa29ac9f050 add presen
aaa
parents:
diff changeset
44 <li>SceneGraph の動作や衝突判定を一つの CPU で処理している。
afa29ac9f050 add presen
aaa
parents:
diff changeset
45 <li>プログラムの並列化率が低ければその性能を生かすことができない
afa29ac9f050 add presen
aaa
parents:
diff changeset
46 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
47 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
48 <center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
49 <font size="6"><sup><b>本研究では SceneGraph を<br>複数 CPU を用いて並列処理することを目的とする</b></sup></font>
afa29ac9f050 add presen
aaa
parents:
diff changeset
50 </center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
51 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
52
afa29ac9f050 add presen
aaa
parents:
diff changeset
53 <div class="slide pre">
afa29ac9f050 add presen
aaa
parents:
diff changeset
54 <h1>発表の流れ</h1>
afa29ac9f050 add presen
aaa
parents:
diff changeset
55 <ul style="line-height: 1.2;">
6
aaa
parents: 3
diff changeset
56 <li>SceneGraph とは
aaa
parents: 3
diff changeset
57 <li>SceneGraph によるゲーム作成
aaa
parents: 3
diff changeset
58 <li>SceneGraph の並列化
aaa
parents: 3
diff changeset
59 <li>今後の課題
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
60 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
61 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
62 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
63 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
64
afa29ac9f050 add presen
aaa
parents:
diff changeset
65 <div class="slide pre">
6
aaa
parents: 3
diff changeset
66 <h1>SceneGraph とは</h1>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
67 SceneGraph のノードは親子関係を持つ Tree で構成される。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
68 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
69 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
70 <img src="image/SceneGraph.jpg" width="500">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
71 </center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
72 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
73 ゲーム内のオブジェクトは個別に SceneGraphNode に分けられているので、ノードを別個に処理すると自然と並列度がでてくる。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
74 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
75
7856523eef7e fix presen
aaa
parents: 12
diff changeset
76 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
77 <h1>SceneGraph とは(Con't)</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
78 <!--
7
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
79 <h3>ゲーム中の1つの場面(Scene)を構成するオブジェクトやその振る舞い、ゲームのルールの集合</h3>
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
80 <center>
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
81 <img src="image/SceneGraph.png" width="500">
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
82 </center>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
83 -->
7856523eef7e fix presen
aaa
parents: 12
diff changeset
84 <font size="4">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
85 <table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
86 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
87 <td>データ</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
88 <td>説明</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
89 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
90 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
91 <td>Vertex</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
92 <td>ポリゴンオブジェクトの頂点座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
93 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
94 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
95 <td>Texture</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
96 <td>ポリゴンオブジェクトのテクスチャ座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
97 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
98 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
99 <td>TextureImage</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
100 <td>テクスチャイメージ</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
101 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
102 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
103 <td>TransMatrix</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
104 <td>ポリゴンオブジェクトの変換行列</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
105 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
106 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
107 <td>Coordinates</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
108 <td>オブジェクトの座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
109 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
110 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
111 <td>Angle</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
112 <td>オブジェクトの角度</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
113 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
114 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
115 <td>Property</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
116 <td>オブジェクトの内部情報</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
117 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
118 </table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
119 <table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
120 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
121 <td>動作</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
122 <td>説明</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
123 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
124 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
125 <td>Move</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
126 <td>自律的なオブジェクトの動き</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
127 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
128 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
129 <td>Collision</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
130 <td>他のノードとの衝突判定をする</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
131 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
132 </table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
133 </font>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
134 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
135
7856523eef7e fix presen
aaa
parents: 12
diff changeset
136 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
137 <h1>SceneGraph とは(Con't)</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
138 <font size="5">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
139 <sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
140  SceneGraph の親子関係に沿って TransMatrix を計算し、Move, Collision を実行することで SceneGraph 内のオブジェクトが変化する。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
141  Collision によって Move が変更され、Move によって Coordinates, Angle が変更される。これらをどのように変更させていくかがゲームのルールとなる。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
142 </sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
143 </font>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
144 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
145 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
146 <font size="5"><sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
147 現在、Cerium では画面の描画と Move, Collision の処理は<br> PPE で逐次的に行われている。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
148 </font></sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
149 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
150 Move, Collision をマルチメディア系の処理を得意とする <font color=red>SPE</font> で処理し<br>Rendering と並列に実行する。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
151 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
152
7856523eef7e fix presen
aaa
parents: 12
diff changeset
153 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
154 <h1>Property</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
155 <ul style="line-height: 1.2;">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
156 <li>SPE で処理するには PPE からデータを送り込む必要がある。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
157 <li>SPE はの Local Store は 256KB しかないので、SceneGraph を全て転送すると容量を超えてしまう可能性がある。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
158 <li>Move, Collision には Polygon や Texture データは不要になる。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
159 </ul>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
160 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
161 <font size="6">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
162 <sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
163 SceneGraph の代わりにゲームに必要な内部状態を持った配列 <font color=red>Property</font> を SPE に転送する。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
164 </sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
165 </font>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
166 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
167
7856523eef7e fix presen
aaa
parents: 12
diff changeset
168 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
169 <h1>Property の処理</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
170 <ul style="line-height: 1.2;">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
171 <li>Property を SPE に転送し、SPE 上で Move, Collision の処理を実行し Property を更新する。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
172 <li>更新されて返された Updated Property を元に SceneGraphTree を生成する。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
173 </ul>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
174 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
175 <img src="image/Property.jpg" width="350">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
176 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
177 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
178
7856523eef7e fix presen
aaa
parents: 12
diff changeset
179 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
180 <h1>Property を用いた例題</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
181 Property を用いた例題として複雑な演算をする鎖のシミュレーション chain を使用した。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
182 <font color="red" size="3">※ chain は Move の処理のみ行い、使用する SPE は1基となっている。</font><br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
183 chain の各オブジェクトの値は、一つ前のオブジェクトの値から算出されるので、複数 SPE に分割して並列処理することができない。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
184 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
185 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
186 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
187 <img src="image/chain.png" width="300">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
188 </center>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
189 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
190
afa29ac9f050 add presen
aaa
parents:
diff changeset
191 <div class="slide pre">
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
192 <h1>結果</h1>
6
aaa
parents: 3
diff changeset
193 </div>
aaa
parents: 3
diff changeset
194
aaa
parents: 3
diff changeset
195 <div class="slide pre">
aaa
parents: 3
diff changeset
196 <h1>今後の課題</h1>
aaa
parents: 3
diff changeset
197 </div>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
198
afa29ac9f050 add presen
aaa
parents:
diff changeset
199 </body>
afa29ac9f050 add presen
aaa
parents:
diff changeset
200 </html>