view document/presentation/semi10_08_10.html @ 7:45ffa0e20c0f

add presentation.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Tue, 02 Nov 2010 19:19:13 +0900
parents
children
line wrap: on
line source

<!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>