Mercurial > hg > Papers > 2009 > tkaito-sigos
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 上にロード +されていることが望ましい。 +