NNS_G3D_SBC_NODE

命令のフォーマット

オフセット(バイト単位) 説明
0 NNS_G3D_SBC_NODEMIX
1 ノードID
2 下位1ビットが1ならばそのノードは表示される。0ならば表示されない。

説明

NNS_G3D_SBC_NODE命令は、この命令以後送信される、マテリアルやシェイプ情報がどのノードに属するものかを宣言するための命令です。
この命令は、デフォルトではsbc.cのNNSi_G3dFuncSbc_NODE関数をコールします。関数の内部では、以下のような処理が行われています。

  1. NNS_G3dRS構造体のpVisAnmResultメンバにNNSG3dVisAnmResult構造体のポインタをセットする。
  2. タイミングAのコールバックをチェックします。この位置のコールバックは、ビジビリティの計算をコールバック関数に代行させたい場合に便利です。なお、コールバック関数内でNNS_G3dRS構造体のNNS_G3D_RSFLAG_SKIPフラグをセットしておくと、次のコールバックまでの処理をスキップします。
  3. ビジビリティ情報が静止画/アニメーションの場合に応じて、*pVisAnmResultにセットされます。
  4. タイミングBのコールバックをチェックします。この位置のコールバックは、ビジビリティの計算結果をコールバック関数に加工させたい場合に便利です。
  5. NNS_G3dRSのフラグが*pVisAnmResultの結果に応じてセットされる。このフラグを後続の命令が使用することによって、ノードが持つポリゴンが表示されたりされなかったりします(ビジビリティアニメ)。
  6. タイミングCのコールバックをチェックする。この位置のコールバックは、この命令の終了後に何らかの動作をさせたい場合に利用します。


コールバック関数の呼び出しタイミング 用途
NNS_G3D_SBC_CALLBACK_TIMING_A ビジビリティ計算そのものをユーザーのコールバック関数で置き換えたい場合。
NNS_G3D_SBC_CALLBACK_TIMING_B ビジビリティ計算の結果を取り出したい場合、又はビジビリティ計算の結果を加工したい場合。
NNS_G3D_SBC_CALLBACK_TIMING_C この命令の終了後に何らかの処理を入れたい場合。

参照

履歴

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