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>