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:
- Restores the
Position/Vector
matrix to the current matrix from the matrix stack (depending on command variations).
- Sets the
NNSG3dJntAnmResult
pointer to the pJntAnmResult
member in the NNS_G3dRS
structure.
- 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.
- Sets
*pJntAnmResult
in response to whether the joint information is static image or animation.
- Checks the timing
B
callback. Callbacks in this position are convenient when processing the results of the joint calculation in the callback function.
- Sends the joint matrix to the geometry engine.
- Checks the timing
C
callback. Callbacks in this position are used when performing some sort of operation after this command finishes.
- 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