| オフセット(バイト単位) | 説明(NNS_G3D_SBCFLG_000の場合) |
|---|---|
| 0 | NNS_G3D_SBC_BB | NNS_G3D_SBCFLG_000 |
| 1 | ビルボード変換対象ノードのノードID |
| オフセット(バイト単位) | 説明(NNS_G3D_SBCFLG_001の場合) |
|---|---|
| 0 | NNS_G3D_SBC_BB | NNS_G3D_SBCFLG_001 |
| 1 | ビルボード変換対象ノードのノードID |
| 2 | 計算結果がストアされる行列スタックID |
| オフセット(バイト単位) | 説明(NNS_G3D_SBCFLG_010の場合) |
|---|---|
| 0 | NNS_G3D_SBC_BB | NNS_G3D_SBCFLG_010 |
| 1 | ビルボード変換対象ノードのノードID |
| 2 | 計算前にリストアされる行列スタックID |
| オフセット(バイト単位) | 説明(NNS_G3D_SBCFLG_011の場合) |
|---|---|
| 0 | NNS_G3D_SBC_BB | NNS_G3D_SBCFLG_011 |
| 1 | ビルボード変換対象ノードのノードID |
| 2 | 計算結果がストアされる行列スタックID |
| 3 | 計算前にリストアされる行列スタックID |
NNS_G3D_SBC_BB命令は、Position/Vector行列にビルボード変換をかけるための命令です。この命令は、デフォルトではsbc.cのNNSi_G3dFuncSbc_BB関数をコールします。関数の内部では以下のような処理が行われています。
NNS_G3dRS構造体のNNS_G3D_RSFLAG_SKIPフラグをセットしておくと、次のコールバックまでの処理をスキップします。
| コールバック関数の呼び出しタイミング | 用途 |
|---|---|
NNS_G3D_SBC_CALLBACK_TIMING_A |
マテリアルの計算をユーザーのプログラムに代行させたい場合。 |
NNS_G3D_SBC_CALLBACK_TIMING_B |
マテリアルの計算結果をユーザーのプログラムに加工させたい場合。 |
NNS_G3D_SBC_CALLBACK_TIMING_C |
この命令の終了後に何らかの処理を入れたい場合。 |
| オプションフラグ | 動作 |
|---|---|
NNS_G3D_SBCFLG_000 |
カレント行列に対してビルボード変換を行う。計算結果は行列スタックにストアしない。 |
NNS_G3D_SBCFLG_001 |
カレント行列に対してビルボード変換を行う。その後計算結果を行列スタックにストアする。 |
NNS_G3D_SBCFLG_010 |
行列スタックからリストアしてからビルボード変換を行う。計算結果は行列スタックにストアしない。 |
NNS_G3D_SBCFLG_011 |
行列スタックからリストアしてからビルボード変換を行う。の後計算結果を行列スタックにストアする。 |
2004/10/14 記述の追加
2004/08/02 初版