2
|
1 \section{開発過程}
|
|
2 Cerium を作るために、以下の手順にそれぞれ実装とテストを行う。
|
|
3
|
|
4 \begin{enumerate}
|
|
5 \item C によるシーケンシャルな実装 \label{list_dev_1}
|
|
6 \item SPE を考慮したデータ構造 (PolygonPack, SpanPack) を持つ実装 \label{list_dev_2}
|
|
7 \item コードをタスクに分割し、FIFO キューでシーケンシャルに実行する実装
|
|
8 \item タスクを SPE に割り当て並列実行する実装
|
|
9 \end{enumerate}
|
|
10
|
|
11 (\ref{list_dev_1}) の実装は Task Manager を用いず、プログラムのアルゴリズムの
|
|
12 信頼性を確認するために用いる。
|
|
13 この段階では、入力に対して出力が一意に決まる状況であり、テストは容易である。
|
|
14 シーケンシャルな実装であるため、デバッグも二分法により容易に行うことが出来る。
|
|
15
|
|
16 (\ref{list_dev_2}) における SPE を考慮したデータ構造とは、
|
|
17 SPE が持つ 256KB という非常に小さなメモリ領域に収まり且つ必要な情報が
|
|
18 効率よく格納されているデータ構造体である。
|
|
19 今回は PolygonPack, SpanPack というデータ構造を定義した。
|
|
20
|
|
21 \begin{itemize}
|
|
22 \item PolygonPack : Scene Graph から得られた、三角形ポリゴンの頂点の座標、
|
|
23 テクスチャの情報、光源の情報から構成される。
|
|
24 \item SpanPack :
|
|
25
|
|
26 \end{itemize}
|