#include <nnsys/g3d/util.h>
BOOL NNS_G3dGetResultMtx( const NNSG3dRenderObj* pRenderObj, MtxFx43* pos, MtxFx33* nrm, u32 nodeID );
| pRenderObj | Pointer to the rendering object. |
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 | The node ID. |
Returns TRUE if the matrix was able to be extracted.
Extracts any matrix corresponding to the nodeID that remains in the matrix stack after the NNS_G3dDraw function executes. A TRUE is returned if the function was able to extract the matrix, and a FALSE will be returned if it was unable to extract. When the return value is TRUE, the matrix mode will be changed to position / vector matrix mode. It will be set if pos and nrm are not NULL.
Make sure that pos_scale is not in the matrix to be obtained. (The vertex coordinate is scaled with the attribute designated by <model_data> of the intermediate (.imd) file. It is stored in NNSG3dResMdlInfo::posScale in fx32 format)
Caution:
When converting with g3cvtr and using the -s option, the joint matrices are all stored in the matrix stack. Rendering can be skipped when configuring the NNS_G3D_RENDEROBJ_FLAG_SKIP_SBC_DRAW of NNSG3dRenderObj::flag and calling the NNS_G3dDraw function. The matrix calculation can be skipped when configuring the NNS_G3D_RENDEROBJ_FLAG_SKIP_SBC_MTXCALC and calling the NNS_G3dDraw function.
Using this features allows you to:
@@Set the matrix in the matrix stack Process the matrix set in the stack Use the processed matrix for rendering
NNS_G3dSetResultMtx, NNS_G3dGetCurrentMtx
08/02/2004 Initial version.
CONFIDENTIAL