# NNS_G3D_SBC_SHP

## 命令のフォーマット

オフセット（バイト単位） | 説明
--- | ---
0 | `NNS_G3D_SBC_SHP`
1 | シェイプID

## 説明

`NNS_G3D_SBC_SHP`命令は、指定されたプリミティブをジオメトリエンジンに送信するための命令です。この命令は、デフォルトではsbc.cの`NNSi_G3dFuncSbc_SHP`関数をコールします。関数の内部では以下のような処理が行われています。

1. タイミングAのコールバックをチェックします。この位置のコールバックは、プリミティブの送信をコールバック関数に代行させたい場合に便利です。なお、コールバック関数内で`NNS_G3dRS`関数の`NNS_G3D_RSFLAG_SKIP`フラグをセットしておくと、次のコールバックまでの処理をスキップします。
2. プリミティブのディスプレイリストがジオメトリエンジンに送信されます。
3. タイミングBのコールバックをチェックします。
4. タイミングBとタイミングCの間には現在処理は存在していません。しかし、将来的に何らかの処理が入る可能性があります。
5. タイミングＣのコールバックをチェックします。

コールバック関数の呼び出しタイミング | 用途
--- | ---
`NNS_G3D_SBC_CALLBACK_TIMING_A` | プリミティブの送信をユーザープログラムで代行させたい場合。
`NNS_G3D_SBC_CALLBACK_TIMING_B` | プリミティブの送信後、何らかの処理を実行させたい場合。
`NNS_G3D_SBC_CALLBACK_TIMING_C` | この命令の終了後に何らかの処理を入れたい場合。

## 参照

## 履歴

2004/10/14 記述の追加
2004/08/02 初版