32 #define VU_LIGHT_TYPE_FLAT 0x10
104 #define ftoi4(f) ((int)((f)*16.0f))
108 #define deg2radian(angle) ((angle*3.1415926535f)/180)
112 #define radian2deg(radian) ((180.0f / 3.1415926535f) * (radian))
VU_MATRIX VuLocalScreenMatrix
void Vu0TransMatrixXYZ(VU_MATRIX *m, float x, float y, float z)
void Vu0IdMatrix(VU_MATRIX *m)
void VuxScaleMatrix(VU_MATRIX *m, VU_VECTOR *s)
void Vu0TransMatrix(VU_MATRIX *m, VU_VECTOR *t)
void VuSetGeometryXYOffset(unsigned short x, unsigned short y)
void VuSetProjectionNearPlaneWH(unsigned int w, unsigned int h)
void VuSetWorldMatrix(VU_MATRIX *world)
int VuxLightNormal(VU_VECTOR *normal, VU_CVECTOR *col0, void *light, unsigned int light_type, VU_CVECTOR *out0)
void VuSetProjectionMatrix(VU_MATRIX *projection)
void Vu0CopyMatrix(VU_MATRIX *dest, VU_MATRIX *src)
void VuSetViewMatrix(VU_MATRIX *view)
void VuxPersN(VU_VECTOR *verts, VU_SXYZ *sxyz, unsigned int num_verts)
float VuxRotTransPers3(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
void Vu0MulMatrix(VU_MATRIX *m0, VU_MATRIX *m1, VU_MATRIX *out)
void VuxRotMatrixX(VU_MATRIX *m, float x)
void VuxMakeLookAtViewMatrix(VU_MATRIX *out, VU_VECTOR *eye, VU_VECTOR *target, VU_VECTOR *up)
void VuxScaleMatrixXYZ(VU_MATRIX *m, float x, float y, float z)
void VuxIdMatrix(VU_MATRIX *m)
void VuxRotMatrixXYZ(VU_MATRIX *m, float x, float y, float z)
void VuxPers(VU_VECTOR *v0, VU_SXYZ *sxyz0)
void VuxCrossProduct0(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *out)
void VuxRotMatrixZ(VU_MATRIX *m, float z)
float VuxRotTransPers(VU_VECTOR *v0, VU_SXYZ *sxyz0)
void VuxRotMatrix(VU_MATRIX *m, VU_VECTOR *v)
VU_VECTOR VuxCrossProduct(VU_VECTOR *v0, VU_VECTOR *v1)
void VuSetProjection(float z)
void VuxApplyMatrix(VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
void VuSetProjectionType(unsigned int type)
void VuxApplyRotMatrix(VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
void VuxRotTrans(VU_VECTOR *v0, VU_VECTOR *out)
void VuxMakeViewMatrix(VU_MATRIX *out, VU_VECTOR *rot, VU_VECTOR *pos, VU_VECTOR *scale)
void VuxTransMatrixXYZ(VU_MATRIX *m, float x, float y, float z)
int VuxPersClip3(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
void VuxTransMatrix(VU_MATRIX *m, VU_VECTOR *v0)
void VuxPers3(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
void VuxResetMatrix(VU_MATRIX *m)
void VuxRotMatrixY(VU_MATRIX *m, float y)
void Vu0ScaleMatrix(VU_MATRIX *m, VU_VECTOR *s)
void VuxMakeProjectionMatrix(VU_MATRIX *proj, float near_plane_w, float near_plane_h, float near_plane_z, float far_plane_z)
void VuxVectorNormal(VU_VECTOR *v)
void VuSetAmbientLight(float r, float g, float b)
void Vu0ResetMatrix(VU_MATRIX *m)
void VuxRotTransPersN(VU_VECTOR *verts, VU_SXYZ *sxyz, unsigned int num_verts)
void Vu0ApplyMatrix(VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
void VuxMulMatrix(VU_MATRIX *m0, VU_MATRIX *m1, VU_MATRIX *out)
void Vu0ScaleMatrixXYZ(VU_MATRIX *m, float x, float y, float z)
void VuxVectorNormal0(VU_VECTOR *in, VU_VECTOR *out)
void VuxInverseMatrix(VU_MATRIX *in, VU_MATRIX *mat)
void VuxUpdateLocalScreenMatrix(void)
VU_MATRIX VuPrjectionMatrix
float VuxDotProduct(VU_VECTOR *v0, VU_VECTOR *v1)
void VuxMakeLocalScreenMatrix2(VU_MATRIX *out, VU_MATRIX *world, VU_MATRIX *view, VU_MATRIX *projection)
void VuxApplyMatrixLS(VU_VECTOR *v0, VU_VECTOR *out)
void VuxMakeLocalScreenMatrix(VU_MATRIX *out, VU_MATRIX *world, VU_MATRIX *view)
int VuxClipSxyz(VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
void VuxCopyMatrix(VU_MATRIX *dest, VU_MATRIX *src)
void VuSetLocalScreenMatrix(VU_MATRIX *m)
int VuxRotTransPersClip3(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
void Vu0ApplyRotMatrix(VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
void VuxApplyRotMatrixLS(VU_VECTOR *v0, VU_VECTOR *out)
void VuxRotTrans3(VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_VECTOR *tv0, VU_VECTOR *tv1, VU_VECTOR *tv2)
void VuxRotTransN(VU_VECTOR *verts, VU_VECTOR *tverts, unsigned int num_verts)
float Vu0DotProduct(VU_VECTOR *v0, VU_VECTOR *v1)