mirror of
https://github.com/zeldaret/ss
synced 2026-05-30 00:46:41 -04:00
cec09ad023
* g3d Headers * initial g3d source files -- NOT YET FIXED * change ResFile static_cast to explicit ctor
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#ifndef RVL_SDK_MTX_MTX_H
|
|
#define RVL_SDK_MTX_MTX_H
|
|
#include "common.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef f32 Mtx[3][4];
|
|
typedef f32 Mtx44[4][4];
|
|
|
|
typedef struct Vec {
|
|
f32 x, y, z;
|
|
} Vec;
|
|
|
|
typedef struct Quaternion {
|
|
f32 x, y, z, w;
|
|
} Quaternion;
|
|
|
|
void PSMTXIdentity(Mtx);
|
|
void PSMTXCopy(const Mtx, Mtx);
|
|
void PSMTXConcat(const Mtx, const Mtx, Mtx);
|
|
void PSMTXConcatArray(const Mtx, const Mtx, Mtx, u32);
|
|
void PSMTXTranspose(const Mtx, Mtx);
|
|
u32 PSMTXInverse(const Mtx, Mtx);
|
|
u32 PSMTXInvXpose(const Mtx, Mtx);
|
|
void PSMTXRotRad(Mtx, f32, char);
|
|
void PSMTXRotTrig(Mtx, f32, f32, char);
|
|
void PSMTXRotAxisRad(Mtx, const Vec *, f32);
|
|
void PSMTXTrans(Mtx, f32, f32, f32);
|
|
void PSMTXTransApply(const Mtx, Mtx, f32, f32, f32);
|
|
void PSMTXScale(Mtx, f32, f32, f32);
|
|
void PSMTXScaleApply(const Mtx, Mtx, f32, f32, f32);
|
|
void PSMTXQuat(Mtx, const Quaternion *);
|
|
|
|
void C_MTXLookAt(Mtx, const Vec *, const Vec *, const Vec *);
|
|
void C_MTXLightFrustum(Mtx, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
|
void C_MTXLightPerspective(Mtx, f32, f32, f32, f32, f32, f32);
|
|
void C_MTXLightOrtho(Mtx, f32, f32, f32, f32, f32, f32, f32, f32);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|