|
VectorC{VU}を 使ってPlayStation®2用スペシャル効果を開発する
|
VectorC{VU}をダウンロードし設定する
SCEI/SCEA/SCEE から承認されたPlayStation®2の開発者でない限りVectorC
{VU}をダウンロードし使用することはできません。Codeplayは、SCEI/SCEA/SCEEよりライセンシーの有無を確認した後、NDAセク
ションへのアクセス(ダウンロードや技術情報が確認できるページ)を許可します。まずは、Codeplayウェブページのアカウントを作成し、
SCEE/SCEA/SCEI登録の有無を明記してください。この際、会社のE-mailアドレスを正確に入力してください。(個人のメールアドレスは無
効です。)
アカウントの作成ページは、ここか
らリンクできます。ここで、PlayStation®2開発者のボックスを選択することを忘れないでください。もしも既にウェブサイトのアカウン
トをお持ちで、PlayStation®2アクセスのみをアップデートしたい場合には、アカウントメインテナンス
の ページから行うことができます。
一度承認されると、ダウンロードのページに
アクセスすることができ、自由にVectorC{VU}のアップデートをすることができます。
VectorC{VU}は、コマンドライン、メイクファイル、Codeplayのインタラクティブ・オプティマイザ、
CodeWarriorもしくはVisual Studio上で使用することができます。インテグレーションは、とても簡単に実行できます。
VectorC{VU} ソースファイルを作成する
VectorC{VU} ソースファイルは、標準C/C++ソースファイルです。Codeplayは少し異なる拡張(.vuc
, .vucpp)を使用しますが、もしも使用したくない場合にはこれらを使用する必要はありません。
各ソースファイルは、個々のVUマイクロプログラムを作成するので、全てのあなたのコードは一つのソースファイル内(または、ヘッダファイルのインライン
関数)にある必要があります。Codeplay VU ヘッダファイルは、以下のように#include
してください。
#include <VU.h>
ここで初めて、EEから呼び出しVU全体に実行させるVUmain関数を作成することができます。仮想関数、コンストラ
クタのコピー、例外ハンドラを使用しない限りC/C++で書くことができます。ポインタは時折複雑な場合があるので、配列を使用することをお勧めします。
VectorC{VU} 関数呼び出し
VectorC{VU}は、あなたのファイルをコンパイルする際 .vu-h 拡張のヘッダファイルを作成します。このヘッダファイルは、VectorC{VU}関数を呼び出したり、VectorC{VU}グローバル変数を読み込み
修正するのに使用されます。VU関数は、どのEEコア関数でも同時に実行されるので、コアプロセッサのパフォーマンスへの影響を心配する必要はありませ
ん。
VectorC{VU} マイクロ・プログラムで何ができる?
VectorC{VU} マイクロ・プログラムは、ポリゴンを描き、データをVUメモリにストアし、DMAシステムと相互作用することができます。以下に具体例を挙げています。
 |
Water
このプログラムは、VU メモリを使用し、高さのフィールドをストアし、シンプルなアルゴリズムを使用し波の
効果を作成しました。
|
 |
Bezier Curves
このプログラムは、VUでカーブ表面を描きました。これは、メモリとDMAのバンド幅の消費を大幅に削減しま
す。最大の利点は、オブジェクトがカメラか遠近を自在に操作できるため簡単に詳細をスクリーン上に表現できることで、簡単にディーテイルを調節できること
です。
|
 |
Procedural Rendering of Trees
VectorC{VU} は、メモリにモデルをストアする代わりに、複雑なオブジェクトを順に描き出すコードを作成することができます。これは、メモリのバンド幅を大幅に削減する
ことができ、また簡単に遠方のオブジェクトのディーテイルを削減することができます。
|
|