Mercurial > hg > Members > koba > home
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>