Mercurial > hg > Papers > 2009 > tkaito-sigos
diff presen/pre1.html @ 24:f2d647428bdb default tip
final!!?
author | admin@mb22-no-macbook-2.local |
---|---|
date | Fri, 24 Apr 2009 14:31:04 +0900 |
parents | cbfd29809746 |
children |
line wrap: on
line diff
--- a/presen/pre1.html Fri Apr 24 03:06:46 2009 +0900 +++ b/presen/pre1.html Fri Apr 24 14:31:04 2009 +0900 @@ -116,11 +116,12 @@ 公開されていないことから、Rendering Engine も独自のものを持つことにした </p> <ul> - <li><font color="maroon">問題点1</font> : SPE と Local Store</li><br> + <li><font color="maroon">問題点1</font> : SPE の Local Store</li> <ul> - <li>Cell に搭載されている SPE は Local Store (256KB) にしかアクセスできない</li> + <li>Cell に搭載されている SPE は Local Store (256KB) にしかアクセスできず、 + 直接メインメモリにアクセスすることができない</li> </ul> - <li><font color="maroon">問題点2</font> : MFC を用いた DMA 命令</li><br> + <li><font color="maroon">問題点2</font> : MFC を用いた DMA 命令</li> <ul> <li>メインメモリにアクセスするには MFC を用いて Direct Memory Access 命令を送らなければならない</li> <li>DMA には待ち時間が存在する。待ち時間の間 SPE が動作しなければマルチコアプロセッサのパフォーマンス @@ -277,6 +278,27 @@ </font> </div> +<div class="slide" id="opengl"> +<h1>OpenGL</h1> +<dl class="docutils"> +<dt>OpenGL</dt> +<dd>オープンソースの3Dグラフィックスプログラムインターフェース</dd> +</dl> +<ul> +<li>変換行列、光源、カメラなどの API を実装</li> +<li>親子関係の表現も可能</li> +</ul> +<p>Cerium での OpenGL の使用の問題</p> +<ul> +<li>SceneGraph の OpenGL の API にあわせるオーバーヘッド</li> +<li>SceneGraph は自身の変換行列を持っている<ul> +<li>SceneGraph 単体でオブジェクトの操作は可能</li> +</ul> +</li> +<li>SceneGraph だけで問題ない</li> +</ul> +</div> + <div class="slide"> <h1>Rendering Engine</h1> <br> @@ -299,15 +321,6 @@ </div> <div class="slide"> -<h1>Rendering Engine (Con't)</h1> -<br> -<center> -<img src="photo/byouga.jpg" alt="byouga" width="600" height="400"> -</center> -</ul> -</div> - -<div class="slide"> <h1>Task Manager</h1> <center> <p class="ep1">Task と呼ばれる、分割された各プログラムを管理する</p> @@ -560,9 +573,6 @@ <tr><td><font size="4">Gallium (SPE 6 個)</font></td> <td><font size="4">5.4 FPS</font></td> </tr> -<tr><td><font size="4">Cerium (SPE 1 個)</font></td> -<td><font size="4">2.5 FPS</font></td> -</tr> <tr><td><font size="4">Cerium (SPE 6 個)</font></td> <td><font color="maroon" size="4">9.5 FPS</font></td> </tr> @@ -579,26 +589,6 @@ </li> </ul> </div> -<div class="slide" id="opengl"> -<h1>比較 - OpenGL</h1> -<dl class="docutils"> -<dt>OpenGL</dt> -<dd>オープンソースの3Dグラフィックスプログラムインターフェース</dd> -</dl> -<ul class="simple"> -<li>変換行列、光源、カメラなどの API を実装</li> -<li>親子関係の表現も可能</li> -</ul> -<p>Cerium での OpenGL の使用の問題</p> -<ul class="simple"> -<li>SceneGraph の OpenGL の API にあわせるオーバーヘッド</li> -<li>SceneGraph は自身の変換行列を持っている<ul> -<li>SceneGraph 単体でオブジェクトの操作は可能</li> -</ul> -</li> -<li>SceneGraph だけで問題ない</li> -</ul> -</div> <div class="slide"> <h1>まとめ</h1> @@ -623,6 +613,54 @@ </ul> </div> +<div class="slide"> +<h1>Rendering Engine (Con't)</h1> +<br> +<center> +<img src="photo/byouga.jpg" alt="byouga" width="600" height="400"> +</center> +</ul> +</div> + +<div class="slide"> +<h1>Scale選択</h1> +<font size="4"> +<pre> + +static int +getScale(int width, int height, int tex_width, int tex_height, int scale_max) +{ + int base, tex_base; + int scale = 1; + + /** + * width と height で、長い方を基準に、 + * texture の scale を決める + */ + if (width > height) { + base = width; + tex_base = tex_width; + } else { + base = height; + tex_base = tex_height; + } + + if (tex_base > base) { + int t_scale = tex_base/base; + + while (t_scale >>= 1) { + scale <<= 1; + } + } + + return (scale > scale_max) ? scale_max : scale; +} + + +</pre> + +</div> + <!-- <div class="slide"> <h1>今後の課題</h1>