#include <nnsys/g3d/kernel.h>
void
NNS_G3dRenderObjSetCallBack(
NNSG3dRenderObj* pRenderObj,
NNSG3dSbcCallBackFunc func,
u8* pCmd,
u8 cmd,
NNSG3dSbcCallBackTiming timing
);
| pRenderObj | NNSG3dRenderObj構造体へのポインタ |
| func | 登録するコールバック関数へのポインタ |
| 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 初版