Regarding incompatibility with versions released before 2004/09/16

Callback Incompatibilities

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.

How to handle callback codes that cannot be compiled

When the callback function and generation conditions were changed in the callback

When the cbFunc, cbCmd, and cbTiming members of the NNSG3dRS structure are changed in the callback function, replace the code as shown below.

  1. Use the NNS_G3dRSResetCallBack function in the callback function, and release the callback that is being used.
  2. Use the NNS_G3dRSSetCallBack function to specify new callback functions and generation conditions.

When using multiple callbacks

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.

  1. Using the 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.
  2. In the set functions, specify the callback function and generation conditions by using NNS_G3dRSSetCallBack.

For details, see the sample callback5.

Revision History

2004/10/11 Initial version.


CONFIDENTIAL