NNS_G3dRenderObjSetCallBack

構文

#include <nnsys/g3d/kernel.h>
void
NNS_G3dRenderObjSetCallBack(
    NNSG3dRenderObj*        pRenderObj,
    NNSG3dSbcCallBackFunc   func,
    u8*                     pCmd,
    u8                      cmd,
    NNSG3dSbcCallBackTiming timing
);

引数

pRenderObj NNSG3dRenderObj構造体へのポインタ
func 登録するコールバック関数へのポインタ
pCmd コールバック関数を呼び出すSBC命令へのポインタ(現在この引数は無効ですが、過去のバージョンとの引数の互換性のために残されています。)
cmd コールバック関数を呼び出すSBC命令
timing コールバック関数を呼び出すタイミング

返り値

なし。

説明

NNS_G3dDraw関数の実行中に差し挟むことができるコールバック関数をレンダリングオブジェクトに登録します。 コールバック処理は、cmdで指定されるSBC命令が実行されるときに、timingで指定される命令内のタイミングでコールバック関数が実行されます。timingは以下に示す3種類から選択でき、 SBCコマンド毎に設定されています。詳しくはSBCとコールバックを参照してください。

typedef enum
{
    NNS_G3D_SBC_CALLBACK_TIMING_A    = 0x00,
    NNS_G3D_SBC_CALLBACK_TIMING_B    = 0x01,
    NNS_G3D_SBC_CALLBACK_TIMING_C    = 0x02
}
NNSG3dSbcCallBackTiming;

登録したコールバック処理はNNS_G3dRenderObjResetCallBack関数によって取り消すことができます。複数のコールバック関数を登録したい場合には、NNS_G3dRenderObjSetInitFunc関数で登録した関数内で、NNS_G3dRSSetCallBack関数を使用してコールバック関数を設定してください。

参照

NNS_G3dRenderObjResetCallBack, NNS_G3dRenderObjSetUserPtr NNSG3dSbcCallBackFunc

履歴

2004/10/15 仕様の改訂に伴い記述を改訂
2004/08/02 初版