changeset 7:3aab00763c40

chapter "cerium" add
author admin@e055734.st.ie.u-ryukyu.ac.jp
date Wed, 18 Mar 2009 14:54:51 +0900
parents e7c35212c0ae
children 60d0beada50d
files paper/cerium.tex
diffstat 1 files changed, 49 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/paper/cerium.tex	Wed Mar 18 00:06:11 2009 +0900
+++ b/paper/cerium.tex	Wed Mar 18 14:54:51 2009 +0900
@@ -1,1 +1,50 @@
 \section{Cerium}
+
+本論文で示しているゲームフレームワークは学生実験での使用を目的としている。
+現在、学生実験では Playstation 3 を用いたゲームプログラミングを行っている。
+
+これまでは Playstation 3 上での Linux 環境で SDL と OpenGL を用いて実験を行っていた。
+OpenGL とは Silicon Graphics 社が中心となって開発された、OS や ハードウェアに依存しない
+グラフィック処理のためのプログラミングインターフェイスである。
+
+しかしながら Playstation 3 の PowerPC シングルプロセッサ上では Playstation 3 の特徴である 
+Cell の性能は活かせない。
+そこで同研究室の神里晃が OSmesa に手を加え、一部の機能を SPE に
+演算させることにより、高速化させた。OSMesa とは OS やハードウェアに依存しないオフスクリーン
+レンダリングライブラリである。しかし、OSMesa は機能が豊富な反面、よけいな演算が増え、
+ソースコードは複雑で手を加えることが難しくなった。\cite{chiaki}
+
+そのような理由から、我々は独自の Rendering Engine を持つことにした。その Rendering Engine を 
+Cerium としている。Cerium は以下の 3 つの要素から構成されている。
+ \\
+\begin{itemize}
+\item SceneGraph
+\item Rendering Engine
+\item Task Manager
+\end{itemize}
+ \\
+\subsection{SceneGraph}
+
+ゲームの中の一つの場面 (Scene) を構成するオブジェクトやその振る舞い、ゲームのルールの集合を SceneGraph
+とする。SceneGraph の各ノードがゲームの一部であるオブジェクトの振る舞いやゲームのルールとなり、
+ノードをたどり実行することでゲームの中の一つの場面となる。SceneGraph はゲームプログラムとしての
+条件を満たす物なので、一つの SceneGraph で小さなゲームと言える。
+
+\subsection{Rendering Engine}
+
+Rendering Engine は Polygon から Span を生成する部分と Span に RGB を
+マッピングし描画する部分と二つに分けることが出来る。
+Span とは、Polygon に対するある特定の Y 座標に関するデータを抜き出した
+ものである。
+
+\subsection{Task Manger}
+
+Task Manager は、Task と呼ばれる分割された各プログラムを
+管理するライブラリである。Task 同士の依存関係を考慮しながら
+メモリ上にマッピングし、SPE 上ではそのプログラムを
+DMA 転送によりロードする。
+SPE は 256KB という小さなデータ量しか持てず、
+大量のプログラムを全て SPE 上に置いておくことはできない可能性がある。
+そのため、必要な時に必要な実行プログラムだけが SPE 上にロード
+されていることが望ましい。
+