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 transformation.
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 transformation.
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 transformation.
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 from which restoration is done 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 transformation.
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 from which restoration is done before calculation.

Description

The NNS_G3D_SBC_NODEDESC command defines the parent / child relationship between nodes. By default, this command calls the sbc.c NNSi_G3dFuncSbc_NODEDESC function. The following processes are performed inside this function:

  1. Restores the position / vector matrix to the current matrix stack 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. The callback in this position is convenient when substituting the joint calculation in 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 the joint information in *pMatAnmResult when the joint information is static image / animation.
  5. Checks the timing B callback. The callback in this position is 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. The callback in this position is 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 enter 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

10/14/2004 Revised description.

08/02/2004 Initial version.


CONFIDENTIAL