PS2SDK
PS2 Homebrew Libraries
libvux.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VU_MATRIX
 
struct  VU_VECTOR
 
struct  VU_SXYZ
 
struct  VU_SXYZF
 
struct  VU_CVECTOR
 
struct  VU_FCVECTOR
 
struct  VU_FLAT_LIGHT
 

Macros

#define VU_LIGHT_TYPE_FLAT   0x10
 
#define ftoi4(f)   ((int)((f)*16.0f))
 
#define deg2radian(angle)   ((angle*3.1415926535f)/180)
 
#define radian2deg(radian)   ((180.0f / 3.1415926535f) * (radian))
 

Functions

void VuInit (void)
 
void VuSetGeometryXYOffset (unsigned short x, unsigned short y)
 
void VuSetProjection (float z)
 
void VuSetProjectionMatrix (const VU_MATRIX *projection)
 
void VuSetProjectionType (unsigned int type)
 
void VuSetWorldMatrix (const VU_MATRIX *world)
 
void VuSetViewMatrix (const VU_MATRIX *view)
 
void VuSetLocalScreenMatrix (const VU_MATRIX *m)
 
void VuSetProjectionNearPlaneWH (unsigned int w, unsigned int h)
 
void VuSetAmbientLight (float r, float g, float b)
 
void Vu0IdMatrix (VU_MATRIX *m)
 
void Vu0ResetMatrix (VU_MATRIX *m)
 
void Vu0TransMatrix (VU_MATRIX *m, VU_VECTOR *t)
 
void Vu0TransMatrixXYZ (VU_MATRIX *m, float x, float y, float z)
 
void Vu0ScaleMatrix (VU_MATRIX *m, VU_VECTOR *s)
 
void Vu0ScaleMatrixXYZ (VU_MATRIX *m, float x, float y, float z)
 
void Vu0MulMatrix (VU_MATRIX *m0, VU_MATRIX *m1, VU_MATRIX *out)
 
void Vu0ApplyMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
 
void Vu0ApplyRotMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
 
void Vu0CopyMatrix (VU_MATRIX *dest, VU_MATRIX *src)
 
float Vu0DotProduct (VU_VECTOR *v0, VU_VECTOR *v1)
 
void VuxIdMatrix (VU_MATRIX *m)
 
void VuxResetMatrix (VU_MATRIX *m)
 
void VuxRotMatrix (VU_MATRIX *m, VU_VECTOR *v)
 
void VuxRotMatrixX (VU_MATRIX *m, float x)
 
void VuxRotMatrixY (VU_MATRIX *m, float y)
 
void VuxRotMatrixZ (VU_MATRIX *m, float z)
 
void VuxRotMatrixXYZ (VU_MATRIX *m, float x, float y, float z)
 
void VuxTransMatrix (VU_MATRIX *m, VU_VECTOR *v0)
 
void VuxTransMatrixXYZ (VU_MATRIX *m, float x, float y, float z)
 
void VuxScaleMatrix (VU_MATRIX *m, VU_VECTOR *s)
 
void VuxScaleMatrixXYZ (VU_MATRIX *m, float x, float y, float z)
 
void VuxMulMatrix (VU_MATRIX *m0, VU_MATRIX *m1, VU_MATRIX *out)
 
void VuxInverseMatrix (VU_MATRIX *in, VU_MATRIX *mat)
 
void VuxCopyMatrix (VU_MATRIX *dest, VU_MATRIX *src)
 
void VuxApplyMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
 
void VuxApplyRotMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out)
 
float VuxDotProduct (VU_VECTOR *v0, VU_VECTOR *v1)
 
VU_VECTOR VuxCrossProduct (VU_VECTOR *v0, VU_VECTOR *v1)
 
void VuxCrossProduct0 (VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *out)
 
void VuxVectorNormal (VU_VECTOR *v)
 
void VuxVectorNormal0 (VU_VECTOR *in, VU_VECTOR *out)
 
void VuxApplyMatrixLS (VU_VECTOR *v0, VU_VECTOR *out)
 
void VuxApplyRotMatrixLS (VU_VECTOR *v0, VU_VECTOR *out)
 
void VuxMakeLocalScreenMatrix (VU_MATRIX *out, VU_MATRIX *world, VU_MATRIX *view)
 
void VuxMakeLocalScreenMatrix2 (VU_MATRIX *out, VU_MATRIX *world, VU_MATRIX *view, VU_MATRIX *projection)
 
void VuxMakeViewMatrix (VU_MATRIX *out, VU_VECTOR *rot, VU_VECTOR *pos, VU_VECTOR *scale)
 
void VuxMakeLookAtViewMatrix (VU_MATRIX *out, VU_VECTOR *eye, VU_VECTOR *target, VU_VECTOR *up)
 
void VuxMakeProjectionMatrix (VU_MATRIX *proj, float near_plane_w, float near_plane_h, float near_plane_z, float far_plane_z)
 
void VuxUpdateLocalScreenMatrix (void)
 
void VuxRotTrans (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)
 
void VuxPers (VU_VECTOR *v0, VU_SXYZ *sxyz0)
 
void VuxPers3 (VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
 
void VuxPersN (VU_VECTOR *verts, VU_SXYZ *sxyz, unsigned int num_verts)
 
int VuxPersClip3 (VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
 
float VuxRotTransPers (VU_VECTOR *v0, VU_SXYZ *sxyz0)
 
float VuxRotTransPers3 (VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
 
void VuxRotTransPersN (VU_VECTOR *verts, VU_SXYZ *sxyz, unsigned int num_verts)
 
int VuxRotTransPersClip3 (VU_VECTOR *v0, VU_VECTOR *v1, VU_VECTOR *v2, VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
 
int VuxClipSxyz (VU_SXYZ *sxyz0, VU_SXYZ *sxyz1, VU_SXYZ *sxyz2)
 
int VuxLightNormal (VU_VECTOR *normal, VU_CVECTOR *col0, void *light, unsigned int light_type, VU_CVECTOR *out0)
 

Variables

VU_MATRIX VuWorldMatrix
 
VU_MATRIX VuViewMatrix
 
VU_MATRIX VuPrjectionMatrix
 
VU_MATRIX VuLocalScreenMatrix
 

Detailed Description

VU library functions.

Definition in file libvux.h.


Data Structure Documentation

◆ VU_MATRIX

struct VU_MATRIX

Float Matrix (4x4)

Definition at line 35 of file libvux.h.

Data Fields
float m[4][4]

◆ VU_VECTOR

struct VU_VECTOR

3D Float Vector (128 bit)

Definition at line 43 of file libvux.h.

Data Fields
float x
float y
float z
float w

◆ VU_SXYZ

struct VU_SXYZ

2D Screen xy and z (64 bit)

Definition at line 53 of file libvux.h.

Data Fields
unsigned short x

format is same as gs 0:12:4

unsigned short y

format is same as gs 0:12:4

unsigned int z

◆ VU_SXYZF

struct VU_SXYZF

2D Screen xy and z with fog coefficient (64 bit)

Definition at line 64 of file libvux.h.

Data Fields
unsigned short x

format is same as gs 0:12:4

unsigned short y

format is same as gs 0:12:4

unsigned int z:24
unsigned char f

◆ VU_CVECTOR

struct VU_CVECTOR

color vector (64 bit)

Definition at line 76 of file libvux.h.

Data Fields
unsigned char r
unsigned char g
unsigned char b
unsigned char a
float q

◆ VU_FCVECTOR

struct VU_FCVECTOR

float version of color vector(128)

Definition at line 87 of file libvux.h.

Data Fields
float r
float g
float b
float a

◆ VU_FLAT_LIGHT

struct VU_FLAT_LIGHT

Definition at line 96 of file libvux.h.

+ Collaboration diagram for VU_FLAT_LIGHT:
Data Fields
VU_VECTOR direction
VU_FCVECTOR color

Function Documentation

◆ VuxUpdateLocalScreenMatrix()

void VuxUpdateLocalScreenMatrix ( void  )

update lsm using view, world, proj

Definition at line 634 of file vusw.c.