With the version released on 2004/10/11, the NNS_G3dDraw function can now set one callback function for each SBC instead of only one callback for all SBCs. However, this change caused incompatibility issues with some of the previous versions.
NNSG3dRS structure, the cbFunc, cbCmdPtr, cbCmd, and cbTiming members were eliminated. Therefore, if any code that handles these members are used in callbacks, it will not compile.
NNS_G3dRenderObjSetCallBack function was invalidated. The feature that starts up the callback by specifying the SBC address was eliminated.
When the cbFunc, cbCmd, and cbTiming members of the NNSG3dRS structure are changed in the callback function, replace the code as shown below.
NNS_G3dRSResetCallBack function in the callback function, and release the callback that is being used.
NNS_G3dRSSetCallBack function to specify new callback functions and generation conditions.
The second and subsequent callbacks cannot be registered with the NNS_G3dRenderObjSetCallBack function. To keep the size of the NNSG3dRenderObj structure to a minimum, callbacks are now registered by configuring the NNSG3dRS structure in the NNS_G3dDraw function before rendering.
NNS_G3dRenderObjSetInitFunc function, configure the NNSG3dRenderObj structure with the functions to be executed when the NNS_G3dDraw function is executed but before NNS_G3dDraw performs rendering.
NNS_G3dRSSetCallBack.
For details, see the sample callback5.
2004/10/11 Initial version.
CONFIDENTIAL