NNSG3dJntAnmResult

C Specification

#include <nnsys/g3d/anm.h>

typedef enum
{
NNS_G3D_JNTANM_RESULTFLAG_SCALEONE      = 0x00000001,
NNS_G3D_JNTANM_RESULTFLAG_ROT_ZERO      = 0x00000002,
NNS_G3D_JNTANM_RESULTFLAG_TRANS_ZERO    = 0x00000004,
NNS_G3D_JNTANM_RESULTFLAG_SCALEEX0_ONE  = 0x00000008,
NNS_G3D_JNTANM_RESULTFLAG_SCALEEX1_0NE  = 0x00000010,
NNS_G3D_JNTANM_RESULTFLAG_MAYA_SSC      = 0x00000020
}
NNSG3dJntAnmResultFlag;

typedef struct NNSG3dJntAnmResult_
{
NNSG3dJntAnmResultFlag  flag;
VecFx32                 scale;
VecFx32                 scaleEx0;
VecFx32                 scaleEx1;
MtxFx33                 rot;
VecFx32  trans;
}
NNSG3dJntAnmResult;

Description

The NNSG3dJntAnmResult structure stores material information relating to the joint's position, direction, and scale. GD3 uses the information stored in this structure to send commands to the Geometry Engine. The structure is created and used during the execution of the NNSi_G3dFuncSbc_NODEDESC function (i.e., when it is called during the SBC's NODEDESC command process). To implement material animation, the NNSi_G3dFuncSbc_NODEDESC function acts internally to set the data stored in this structure in accordance with the animation data. By setting a callback in NNS_G3D_SBC_NODEDESC, the material's settings can be controlled from the user program by accessing the NNSG3dJntAnmResult structure via the NNSG3dRS structure.

Data Member Description
flag The flag of type NNSG3dJntAnmResultFlag.
scale Scale by which joint is multiplied.
scaleEx0 Auxiliary scale value. The meaning of this value differs depending on the CG tool. This value normally is not manipulated.
scaleEx1 Auxiliary scale value. The meaning of this value differs depending on the CG tool. This value normally is not manipulated.
rot Joint's 3x3 rotation matrix.
trans Joint's parallel transform component.

NNSG3dMatAnmResultFlag Values Description
NNS_G3D_JNTANM_RESULTFLAG_SCALE_ONE When this flag is set, the value stored in scale is disabled. All scale components are treated as if FX32_ONE has been entered.
NNS_G3D_JNTANM_RESULTFLAG_ROT_ZERO When this flag is set, the value stored in rot is disabled. The rotation matrix is treated as a unit matrix.
NNS_G3D_JNTANM_RESULTFLAG_TRANS_ZERO When this flag is set, the value stored in trans is disabled. All parallel transform components are treated as if 0 has been entered.
NNS_G3D_JNTANM_RESULTFLAG_SCALEEX0_ONE When this flag is set, scaleEx0 is disabled. All components are treated as FX32_ONE.
NNS_G3D_JNTANM_RESULTFLAG_SCALEEX1_ONE When this flag is set, the value stored in scaleEx1 is disabled. All components are treated as FX32_ONE.
NNS_G3D_JNTANM_RESULTFLAG_MAYA_SSC When this flag is set, this joint is multiplied by Maya's Segment Scale Compensate.

See Also

Kernel, Rendering Engine

Revision History

10/13/2004 Initial version.


CONFIDENTIAL