NNS_G3D_SBC_NODEDESC

Command Format

Offset (bytes) Description for NNS_G3D_SBCFLG_000
0 NNS_G3D_SBC_NODEDESC | NNS_G3D_SBCFLG_000
1 The node ID of a node that is targeted for calculation.
2 The node ID of the parent node of the node that is targeted for calculation.
3 Flag (NNSG3dSbcNodeDescFlag).
Offset (bytes) Description for NNS_G3D_SBCFLG_001
0 NNS_G3D_SBC_NODEDESC | NNS_G3D_SBCFLG_001
1 The node ID of a node that is targeted for calculation.
2 The node ID of the parent node of the node that is targeted for calculation.
3 Flag (NNSG3dSbcNodeDescFlag).
4 The matrix stack ID where the calculation results are stored.
Offset (bytes) Description for NNS_G3D_SBCFLG_010.
0 NNS_G3D_SBC_NODEDESC | NNS_G3D_SBCFLG_010
1 The node ID of a node that is targeted for calculation.
2 The node ID of the parent node of the node that is targeted for calculation.
3 Flag (NNSG3dSbcNodeDescFlag).
4 The ID of the matrix stack to be restored before calculation.
Offset (bytes) Description for NNS_G3D_SBCFLG_011.
0 NNS_G3D_SBC_NODEDESC | NNS_G3D_SBCFLG_011
1 The node ID of a node that is targeted for calculation.
2 The node ID of the parent node of the node that is targeted for calculation.
3 Flag (NNSG3dSbcNodeDescFlag).
4 The matrix stack ID where the calculation results are stored.
5 The ID of the matrix stack to be restored before calculation.

Description

The NNS_G3D_SBC_NODEDESC command defines the parent / child relationship between nodes. By default, this command calls the NNSi_G3dFuncSbc_NODEDESC function found in sbc.c. This function internally performs the following processes:

  1. Restores the Position/Vector matrix to the current matrix from the matrix stack (depending on command variations).
  2. Sets the NNSG3dJntAnmResult pointer to the pJntAnmResult member in the NNS_G3dRS structure.
  3. Checks the timing A callback. Callbacks in this position are convenient when substituting the joint calculation to the callback function. You can skip processing until the next callback by setting the NNS_G3D_RSFLAG_SKIP flag of NNS_G3dRS in the callback function.
  4. Sets *pJntAnmResult in response to whether the joint information is static image or animation.
  5. Checks the timing B callback. Callbacks in this position are convenient when processing the results of the joint calculation in the callback function.
  6. Sends the joint matrix to the geometry engine.
  7. Checks the timing C callback. Callbacks in this position are used when performing some sort of operation after this command finishes.
  8. Stores the Position/Vector matrix from the current matrix to the matrix stack (depending on command variations).


Timing for Calling a Callback Function Usage
NNS_G3D_SBC_CALLBACK_TIMING_A When you want a user program to calculate the NNSG3dJntAnmResult structure.
NNS_G3D_SBC_CALLBACK_TIMING_B When you want to manipulate the results of calculations on the NNSG3dJntAnmResult structure in a user program.
NNS_G3D_SBC_CALLBACK_TIMING_C When you want to insert some process after this command ends.


Option Flag Operation
NNS_G3D_SBCFLG_000 Performs calculation on the current matrix. Does not store calculation results in the matrix stack.
NNS_G3D_SBCFLG_001 Performs calculation on the current matrix. Then stores calculation results in the matrix stack.
NNS_G3D_SBCFLG_010 Restores from the matrix stack and then calculates. Does not store calculation results in the matrix stack.
NNS_G3D_SBCFLG_011 Restores from the matrix stack and then calculates. Then stores calculation results in the matrix stack.

See Also

Revision History

2004/10/14 Added description.
2004/08/02 Initial version.


CONFIDENTIAL