#include <nnsys/g3d/util.h>
BOOL
NNS_G3dGetResultMtx(
const NNSG3dRenderObj* pRenderObj,
MtxFx43* pos,
MtxFx33* nrm,
u32 nodeID
);
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. |
Returns TRUE
if the matrix was able to be extracted.
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.
NNS_G3dSetResultMtx
NNS_G3dGetCurrentMtx
2004/08/02 Initial version.
CONFIDENTIAL