G3Dサンプルデモ

場所

$TwlSystem/build/demos/g3d/

コンパイル方法

$TwlSystem/build/demos/g3d/ ディレクトリに移り、

% make

と入力します。コンパイルが始まり、実行ファイルである .srl ファイルやバイナリ情報を記述した .nef または .tef ファイルが、

$TwlSystem/build/demos/g3d/samples/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/

の下に生成されます。例えば、

$TwlSystem/build/demos/g3d/samples/simple/bin/ARM9-TS.HYB/Release/

には simple デモのNITRO/TWLハイブリッド用リリース版の実行ファイルが生成されます。

実行方法

$TwlSystem/build/demos/g3d/samples/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/ ディレクトリに移ります。 ビルドしたROMの種類によって、下記のいずれかの方法で実行します。

NITRO ROM の場合

Ensata エミュレータを用いる場合

IS-NITRO-DEBUGGER を用いる場合

IS-TWL-DEBUGGER を用いる場合

TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

IS-TWL-DEBUGGER を用いる場合

TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

説明

サンプル

simple テクスチャつきのモデル描画をおこなう単純なサンプルです。
1mat1shp 非常に単純なモデルを高速に表示するサンプルです。
callback1 コールバック関数登録を利用して、レンダリング処理のカスタマイズを行うサンプル(1)です。部分的にビジビリティやマテリアルなどの計算結果を変更してモデルを表示します。
callback2 コールバック関数登録を利用して、レンダリング処理のカスタマイズを行うサンプル(2)です。モデル内の特定のノードに別のモデルをくっつけて表示します。
callback3 コールバック関数登録を利用して、レンダリング処理のカスタマイズを行うサンプル(3)です。ディスプレイリストの送信中に、描画とは無関係な計算を行います。
callback4 コールバック関数登録を利用して、レンダリング処理のカスタマイズを行うサンプル(4)です。ジョイントアニメーション適用後のカレント行列を加工して再設定します。
callback5 コールバック関数登録を利用して、レンダリング処理のカスタマイズを行うサンプル(5)です。コールバック関数を複数設定します。
CameraMtx ビルボードを表示するサンプルです。Projection行列の設定方法を切り替えて描画効率を比較するサンプルにもなっています。
CustomizeSbcOp SBCコマンドの処理関数をユーザーがカスタマイズしたものに変更するサンプルです。
DisposeTex モデルテクスチャをVRam転送後にテクスチャ領域をゼロクリアしても問題なく動作することを示すサンプルです。
Envelope ウェイテッドエンベロープつきモデルを表示するサンプルです。
GeComBuffering ジオメトリコマンドバッファリング機能を利用するサンプルです。
JointAnm モデルジョイントアニメーションを再生するサンプルです。
PartialAnm1 モデルジョイントアニメーションを部分的に再生するサンプルです。
PartialAnm2 モデルジョイントアニメーションを部分的に再生し、組み合わせるサンプルです。
SlowMotion モデルジョイントアニメーションをスロー再生するサンプルです。
SharedMotion 体型の違うモデルで同一のジョイントアニメーションを再生するサンプルです。
ManualSetup NNS_G3dResDefaultSetup関数を使用せずにモデルリソースをセットアップするサンプルです。
MatColAnm マテリアルカラーアニメーションを再生するサンプルです。
ModifyNsbmd モデルのマテリアル色やライト設定を変更するサンプルです。
MotionLOD 遠くにあるキャラクターアニメーションのフレームレートを落として、CPU処理を軽減するサンプルです。
MultiModel コンバータで複数モデルをマージし、その結果を描画するサンプルです。
RecordJoint ジョイントの計算結果を前計算しておくサンプルです。
RecordMaterial マテリアルの計算結果を前計算しておくサンプルです。
RecordMtx callback2サンプルと同様の動作をコールバックを使用せずに実現するサンプルです。
SeparateTex コンバータでモデルバイナリとテクスチャバイナリを分割出力し、それらを適切に関連付けて表示するサンプルです。
ShadowVolume G3Dを使用してシャドウボリュームを描画するサンプルです。
TexPatternAnm テクスチャパターンアニメーション再生サンプルです。
TexSRTAnm テクスチャSRTアニメーション再生サンプルです。
UnbindTex モデル内のテクスチャの部分的な取り外し、張替えを行うサンプルです。
VisibilityAnm ビジビリティアニメーションの再生を行うサンプルです。
ScreenUtil G3Dの座標変換ユーティリティAPIを使ったサンプルです。
Translucent 半透明ポリゴンが重なっているオブジェクトを描画するサンプルです。
EnvMap 環境マップされたオブジェクトを表示するサンプルです。
ProjMap 投影マップされたオブジェクトを表示するサンプルです。

動作環境

すべてのサンプルについて、IS-TWL-DEBUGGER, IS-NITRO-EMULATOR、ensata での正常動作を確認しています。

参照

G3D関数一覧

履歴

2008/06/20 コンパイル方法および実行方法をTWLに対応
2008/02/26 callbackサンプルの説明を加筆
2005/01/24 実行方法において IS-NITRO-EMULATOR の記述を削除、動作環境において TEG の記述を削除し、TS を IS-NITRO-EMULATOR に変更。
2005/01/21 EnvMap, ProjMapの2つのサンプルを追加
2004/11/26 Translucentサンプルを追加
2004/11/10 PartialAnm1, PartialAnm2, SlowMotion, SharedMotion, ScreenUtilの5つのサンプルを追加
2004/10/12 callback5, Envelope, ManualSetup, RecordMtx, ShadowVolumeの5つのサンプルを追加
2004/09/16 callback4, MotionLODの2つのサンプルを追加
2004/09/01 1mat1shp, callback3, GeComBufferingの3つのサンプルを追加
2004/08/10 幾つかのサンプルを追加
2004/08/02 初版