| オフセット(バイト単位) | 説明 |
|---|---|
| 0(上位3bitが[000]の場合) | NNS_G3D_SBC_MAT | NNS_G3D_SBCFLG_000 |
| 0(上位3bitが[001]の場合) | NNS_G3D_SBC_MAT | NNS_G3D_SBCFLG_001 |
| 0(上位3bitが[010]の場合) | NNS_G3D_SBC_MAT | NNS_G3D_SBCFLG_010 |
| 1 | マテリアルID |
NNS_G3D_SBC_MAT命令は、マテリアル情報をモデルリソースやアニメリソースから取得し、ジオメトリエンジンに送信するための命令です。この命令は、デフォルトではsbc.cのNNSi_G3dFuncSbc_MAT関数をコールします。関数の内部では以下のような処理が行われています。
NNS_G3dRS構造体のpMatAnmResultメンバにNNSG3dMatAnmResultのポインタをセットする。
NNS_G3dRS構造体のNNS_G3D_RSFLAG_SKIPフラグをセットしておくと、次のコールバックまでの処理をスキップします。
*pMatAnmResultにセットされます。
| コールバック関数の呼び出しタイミング | 用途 |
|---|---|
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 |
マテリアルの計算結果をバッファリングされている場合はそれを利用。バッファがない場合は計算して計算結果をバッファリングする。 |
2004/10/14 記述の追加
2004/08/02 初版