NNSG3dMatAnmResult

Syntax

#include <nnsys/g3d/anm.h>

typedef enum
{
    NNS_G3D_MATANM_RESULTFLAG_TEXMTX_SCALEONE  = 0x00000001,
    NNS_G3D_MATANM_RESULTFLAG_TEXMTX_ROTZERO   = 0x00000002,
    NNS_G3D_MATANM_RESULTFLAG_TEXMTX_TRANSZERO = 0x00000004,

    NNS_G3D_MATANM_RESULTFLAG_TEXMTX_SET       = 0x00000008,
    NNS_G3D_MATANM_RESULTFLAG_TEXMTX_MULT      = 0x00000010,
    NNS_G3D_MATANM_RESULTFLAG_WIREFRAME        = 0x00000020
}
NNSG3dMatAnmResultFlag;

typedef struct NNSG3dMatAnmResult_
{
    NNSG3dMatAnmResultFlag flag;
    u32                    prmMatColor0;
    u32                    prmMatColor1;
    u32                    prmPolygonAttr;
    u32                    prmTexImage;
    u32                    prmTexPltt;

    fx32                   scaleS, scaleT;
    fx16                   sinR, cosR;
    fx32                   transS, transT;

    u16                    origWidth, origHeight;
    fx32                   magW, magH;
}
NNSG3dMatAnmResult;

Description

The NNSG3dMatAnmResult structure stores material information. 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_MAT function (when called during processing of the SBC's MAT command).

To implement material animation, the NNSi_G3dFuncSbc_MAT 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_MAT, the material's settings can also be controlled from the user program.

Data Member Description
flag Flag of type NNSG3dMatAnmResultFlag.
prmMatColor0 Stores diffuse and ambient. Equivalent to the parameter of the MaterialColor0 geometry command.
prmMatColor1 Stores specular and emission. Equivalent to the parameter of the MaterialColor1 geometry command.
prmPolygonAttr Stores the polygon attribute values. Equivalent to the parameters of the PolygonAttr geometry command.
prmTexImage Stores the texture parameters. Equivalent to the parameters of the TexImageParam geometry command.
prmTexPltt Stores the texture palette's base address. Equivalent to the parameter of the TexPlttBase geometry command.
scaleS The texture's scale value in the S direction.
scaleT The texture's scale value in the T direction.
sinR The sine of the texture's rotation angle.
cosR The cosine of the texture's rotation angle.
transS The texture's translation component in the S direction.
transT The texture's translation component in the T direction.
origWidth The width of the texture corresponding to the material at time of g3dcvtr output.
origHeight The height of the texture corresponding to the material at time of g3dcvtr output.
magW The magnification determined when binding model and texture. Normally this is FX32_ONE.
magH The magnification determined when binding model and texture. Normally this is FX32_ONE.

NNSG3dMatAnmResultFlag Values Description
NNS_G3D_MATANM_RESULTFLAG_TEXMTX_SCALEONE When this flag is set, the values stored in scaleS and scaleT are disabled. Both are treated as if FX32_ONE has been entered.
NNS_G3D_MATANM_RESULTFLAG_TEXMTX_ROTZERO When this flag is set, the values stored in sinR and cosR are disabled. sinR is 0, but cosR is treated as if FX32_ONE has been entered.
NNS_G3D_MATANM_RESULTFLAG_TEXMTX_TRANSZERO When this flag is set, the values stored in transS and transT are disabled. Both are treated as if 0 has been entered.
NNS_G3D_MATANM_RESULTFLAG_TEXMTX_SET When this flag is set, the texture matrix corresponding to this structure's settings is set as the current texture matrix.
NNS_G3D_MATANM_RESULTFLAG_TEXMTX_MULT When this flag is set, the current texture matric is multiplied by the texture matrix corresponding to this structure's settings.
NNS_G3D_MATANM_RESULTFLAG_WIREFRAME When this flag is set, the polygons belonging to the material are rendered as wireframes.

See Also

Kernel, Rendering Engine

Revision History

2004/10/13 Initial version.


CONFIDENTIAL