Mercurial > hg > Papers > 2008 > akira-master
changeset 13:c12d7a3c1cc2
*** empty log message ***
author | akira |
---|---|
date | Sun, 17 Feb 2008 11:40:16 +0900 |
parents | 6fbfcbbe56ec |
children | 4d6138d7d935 |
files | paper/comparison.tex paper/exploit_techinique.tex paper/finally.tex |
diffstat | 3 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/comparison.tex Sun Feb 17 09:32:22 2008 +0900 +++ b/paper/comparison.tex Sun Feb 17 11:40:16 2008 +0900 @@ -5,7 +5,7 @@ 計思想はVRMLに影響を受けており、シーングラフ、オブジェクト、トランスフォーメーシ ョンなどの機能を持つ。Ceriumに比べて汎用性はあるが、マルチコアが主流となりつつある現代のアーキテクチャにはそぐわない。 \section{Open Scene Graph} -Open Scene Graphはビジュアル・シミュレーション、科学モデリング、仮想現実からゲームまで様々な用途に用いられ、高性能機能を備えたオープソースライブラリである。OpenGLを使用しており、 +Open Scene Graphはビジュアル・シミュレーション、科学モデリング、仮想現実からゲームまで様々な用途に用いられ、高性能機能を備えたオープソースライブラリである。OpenGLを使用しており、C++で記述されている。 \section{VRML} VRMLは従来のレンダリングエンジンとは異なり、コンパイルが不要な言語である。ヘッダ、コメント、ノード、プロトタイプ、ルートの5つの要素から構成され、ポリゴンやテクスチャなども指定できる。しかし、Ceriumに比べると、表現能力の限界がある。
--- a/paper/exploit_techinique.tex Sun Feb 17 09:32:22 2008 +0900 +++ b/paper/exploit_techinique.tex Sun Feb 17 11:40:16 2008 +0900 @@ -1,4 +1,4 @@ -\chapter{開発行程} +\chapter{開発段階} \section{過去の移植行程} 我々はこれまでPlayStationで動作するプログラムのPlayStation2へ移植を行ってきた。移植はアーキテクチャーに依存するレイヤーとアーキテクチャーに依存しないレイヤーに分割し、依存レイヤーの部分のコードを書き換えてきた。(図\ref{fig:porting})しかし、それではアーキテクチャー依存間の差はとることは容易ではない。そこで我々がリファクタリングを用いて開発を行った。\\ ソフトウェアは一気に構成される訳ではなく、いくつかの変更を得て作られていく。新しい環境で使われるように変更すれば、再利用しやすくするために同じ動作をするプログラムを異なる構成に変更することもある。これらをリファクタリングと読んでいる。 @@ -18,16 +18,18 @@ シーケンシャルな環境と並列分散の環境でのデバッグは難しさがだいぶ異なる。\\ シーケンシャルなアルゴリズムでいったん実装した後、Cellの環境に容易に移すことが可能ならば、Cellの並列環境の上でデバッグを行う必要がなくなる。シーケンシャルな環境で実装する際にもスレッドを使わないようなデバッグが容易にできるようなプログラム記述が求められる。 \section{まとめ} -我々は開発段階としてシーケンシャルなアルゴリズムでの実装、SPUにマッピングするデータ構造を用いたシーケンシャルアルゴリズムでの実装、Cellへのマッピングという風に開発を行った。そうすることで新たなゲーム開発環境ができたときもシーケンシャルなアルゴリズムから開発できるというメリットがある。またデバッグを行うことが難しい並列環境に置いても、それをより容易にデバッグすることを可能にした。 +我々は開発段階としてシーケンシャルなアルゴリズムでの実装、SPUにマッピングするデータ構造を用いたシーケンシャルアルゴリズムでの実装、Cellへのマッピングという風に開発を行った。そうすることで新たなゲーム開発環境ができたときもシーケンシャルなアルゴリズムから開発できるというメリットがある。段階的な開発行程にMindMapを利用し、かなり複雑な仕様を策定しCeriumを開発した。(図\ref{fig:mm1}、図\ref{fig:mm2})またデバッグを行うことが難しい並列環境に置いても、それをより容易にデバッグすることを可能にした。 \begin{figure} \begin{center} \includegraphics[width=17cm,height=20cm]{./fig/mindmap1.eps} \end{center} +\label{fig:mm1} \end{figure} \begin{figure} \begin{center} \includegraphics{./fig/mindmap2.eps} \end{center} +\label{fig:mm2} \end{figure}
--- a/paper/finally.tex Sun Feb 17 09:32:22 2008 +0900 +++ b/paper/finally.tex Sun Feb 17 11:40:16 2008 +0900 @@ -1,6 +1,7 @@ \chapter{まとめと今後の課題} \section{まとめ} -本稿ではCell Broadband Engineを用いて、並列実験を行った。まず例題としてOSMesaのSpanを描画するルーチンをSPUを使って並列処理するように実装した。その結果、それなりの結果を得ることができた。その上で、よりゲーム班が使いやすいフレームワークを提案し実装している。\\ +本稿ではCell Broadband Engineを用いて、新たなゲームフレームワークの提案を行った。PlayStation3ではGDPを使うことができないので、PlayStation3に搭載されているハードウェアを100%活用できないという欠点がある。しかし、ps3fbという従来のLinuxに搭載されているフレームバッファがあるので、PlayStation3でテストを行うことが可能となるのは利点でもある。\\ +まず例題としてOSMesaのSpanを描画するルーチンをSPUを使って並列処理するように実装した。その結果、それなりの結果を得ることができた。このOSMesaで実験を行ったことにより、zバッファの並列化を行うことが大きな成果と言える。その上で、よりゲーム班が使いやすいフレームワークを提案し実装している。\\ このフレームワークのプロジェクトはまだ始まったばかりである。実装されていない部分や直す余地があるところがたくさんある。今後に残された課題を示す。 \section{今後の課題} \subsection{CbCの導入} @@ -18,3 +19,5 @@ アルファブレンディングはアルファという値を使い、透明具合を判断する物である。モデルが重なり合ったとき、普通は上にある方が描画される。しかし、透明の設定をしていると、下の物が見える可能性を残している。その透明もしくは半透明をアルファ値から読み取り実装する必要がある。 \subsection{z sort} OSMesaではどちらが手前にあるのかという判断をzバッファを用いて判断していた。しかし、それはSPUに画面全体のzバッファを保持することができずy座標ごとにspanをソートし送り出す工夫を施さなければならない。しかし、zソートはzバッファと違い、面に対してどちらが手前にあるかというのを判断し、おくにある面から描画していく手法である。そうすることにより、後に描画される方が必ず手前にくる。そうすることでSPUはzバッファがいらなくなる。 +\subsection{評価} +今回我々が実装しているCeriumはまだ途中段階までしか実装できていない。よって評価を下すことができない。完成させた上で評価することも課題の一つと言える。