NNS_G3dGetResultMtx

Syntax

#include <nnsys/g3d/util.h>
BOOL
NNS_G3dGetResultMtx(
    const NNSG3dRenderObj* pRenderObj,
    MtxFx43*               pos,
    MtxFx33*               nrm,
    u32                    nodeID
);

Arguments

pRenderObj Pointer to the RenderObj structure.
pos Pointer to the matrix that is substituted for the clip coordinate matrix.
nrm Pointer to the matrix that is substituted for the directional vector matrix.
nodeID Node ID.

Return Values

Returns TRUE if the matrix was able to be extracted.

Description

Extracts from the matrix stack any matrix corresponding to nodeID that remains in the matrix stack after the NNS_G3dDraw function executes. The function returns TRUE if it was able to extract the matrix and FALSE if it was unable to extract it. When the return value is TRUE, the matrix mode will be changed to Position / Vector matrix mode. If pos and nrm are not NULL, they are set to the matrix.)

Note: Make sure that pos_scale is not being applied to matrices that this function can get. (This refers to scaling the vertex coordinates with the attributes specified by <model_data> in the imd intermediate file. It is stored in NNSG3dResMdlInfo::posScale in fx32 format.)

Usage and Notes

When converting with g3cvtr and using the -s option, the joint matrices are all stored in the matrix stack. Rendering can be skipped by setting the NNSG3dRenderObj::flag flag NNS_G3D_RENDEROBJ_FLAG_SKIP_SBC_DRAW and calling the NNS_G3dDraw function. The matrix calculation can be skipped by setting NNS_G3D_RENDEROBJ_FLAG_SKIP_SBC_MTXCALC and then calling the NNS_G3dDraw function.

Using this feature allows you to do the following when programming.

See Also

NNS_G3dSetResultMtx
NNS_G3dGetCurrentMtx

Revision History

2004/08/02 Initial version.


CONFIDENTIAL