PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
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)
 
#define deg2radian(angle)
 
#define radian2deg(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

Macro Definition Documentation

◆ VU_LIGHT_TYPE_FLAT

#define VU_LIGHT_TYPE_FLAT   0x10

Definition at line 32 of file libvux.h.

◆ ftoi4

#define ftoi4 ( f)
Value:
((int)((f)*16.0f))

Definition at line 104 of file libvux.h.

◆ deg2radian

#define deg2radian ( angle)
Value:
((angle*3.1415926535f)/180)

Definition at line 108 of file libvux.h.

◆ radian2deg

#define radian2deg ( radian)
Value:
((180.0f / 3.1415926535f) * (radian))

Definition at line 112 of file libvux.h.

Function Documentation

◆ VuInit()

void VuInit ( void )
extern

Definition at line 70 of file vux.c.

◆ VuSetGeometryXYOffset()

void VuSetGeometryXYOffset ( unsigned short x,
unsigned short y )
extern

Definition at line 78 of file vux.c.

◆ VuSetProjection()

void VuSetProjection ( float z)
extern

Definition at line 88 of file vux.c.

◆ VuSetProjectionMatrix()

void VuSetProjectionMatrix ( const VU_MATRIX * projection)
extern

Definition at line 98 of file vux.c.

◆ VuSetProjectionType()

void VuSetProjectionType ( unsigned int type)
extern

Definition at line 108 of file vux.c.

◆ VuSetWorldMatrix()

void VuSetWorldMatrix ( const VU_MATRIX * world)
extern

Definition at line 116 of file vux.c.

◆ VuSetViewMatrix()

void VuSetViewMatrix ( const VU_MATRIX * view)
extern

Definition at line 125 of file vux.c.

◆ VuSetLocalScreenMatrix()

void VuSetLocalScreenMatrix ( const VU_MATRIX * m)
extern

Definition at line 135 of file vux.c.

◆ VuSetProjectionNearPlaneWH()

void VuSetProjectionNearPlaneWH ( unsigned int w,
unsigned int h )
extern

Definition at line 144 of file vux.c.

◆ VuSetAmbientLight()

void VuSetAmbientLight ( float r,
float g,
float b )
extern

Definition at line 154 of file vux.c.

◆ Vu0IdMatrix()

void Vu0IdMatrix ( VU_MATRIX * m)
extern

Definition at line 13 of file vuhw.c.

◆ Vu0ResetMatrix()

void Vu0ResetMatrix ( VU_MATRIX * m)
extern

Definition at line 18 of file vuhw.c.

◆ Vu0TransMatrix()

void Vu0TransMatrix ( VU_MATRIX * m,
VU_VECTOR * t )
extern

Definition at line 61 of file vuhw.c.

◆ Vu0TransMatrixXYZ()

void Vu0TransMatrixXYZ ( VU_MATRIX * m,
float x,
float y,
float z )
extern

Definition at line 77 of file vuhw.c.

◆ Vu0ScaleMatrix()

void Vu0ScaleMatrix ( VU_MATRIX * m,
VU_VECTOR * s )
extern

Definition at line 93 of file vuhw.c.

◆ Vu0ScaleMatrixXYZ()

void Vu0ScaleMatrixXYZ ( VU_MATRIX * m,
float x,
float y,
float z )
extern

Definition at line 136 of file vuhw.c.

◆ Vu0MulMatrix()

void Vu0MulMatrix ( VU_MATRIX * m0,
VU_MATRIX * m1,
VU_MATRIX * out )
extern

Definition at line 148 of file vuhw.c.

◆ Vu0ApplyMatrix()

void Vu0ApplyMatrix ( VU_MATRIX * m,
VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 221 of file vuhw.c.

◆ Vu0ApplyRotMatrix()

void Vu0ApplyRotMatrix ( VU_MATRIX * m,
VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 259 of file vuhw.c.

◆ Vu0CopyMatrix()

void Vu0CopyMatrix ( VU_MATRIX * dest,
VU_MATRIX * src )
extern

Definition at line 294 of file vuhw.c.

◆ Vu0DotProduct()

float Vu0DotProduct ( VU_VECTOR * v0,
VU_VECTOR * v1 )
extern

Definition at line 324 of file vuhw.c.

◆ VuxIdMatrix()

void VuxIdMatrix ( VU_MATRIX * m)
extern

Definition at line 30 of file vusw.c.

◆ VuxResetMatrix()

void VuxResetMatrix ( VU_MATRIX * m)
extern

Definition at line 39 of file vusw.c.

◆ VuxRotMatrix()

void VuxRotMatrix ( VU_MATRIX * m,
VU_VECTOR * v )
extern

Definition at line 51 of file vusw.c.

◆ VuxRotMatrixX()

void VuxRotMatrixX ( VU_MATRIX * m,
float x )
extern

Definition at line 74 of file vusw.c.

◆ VuxRotMatrixY()

void VuxRotMatrixY ( VU_MATRIX * m,
float y )
extern

Definition at line 101 of file vusw.c.

◆ VuxRotMatrixZ()

void VuxRotMatrixZ ( VU_MATRIX * m,
float z )
extern

Definition at line 129 of file vusw.c.

◆ VuxRotMatrixXYZ()

void VuxRotMatrixXYZ ( VU_MATRIX * m,
float x,
float y,
float z )
extern

Definition at line 157 of file vusw.c.

◆ VuxTransMatrix()

void VuxTransMatrix ( VU_MATRIX * m,
VU_VECTOR * v0 )
extern

Definition at line 188 of file vusw.c.

◆ VuxTransMatrixXYZ()

void VuxTransMatrixXYZ ( VU_MATRIX * m,
float x,
float y,
float z )
extern

Definition at line 202 of file vusw.c.

◆ VuxScaleMatrix()

void VuxScaleMatrix ( VU_MATRIX * m,
VU_VECTOR * s )
extern

Definition at line 216 of file vusw.c.

◆ VuxScaleMatrixXYZ()

void VuxScaleMatrixXYZ ( VU_MATRIX * m,
float x,
float y,
float z )
extern

Definition at line 232 of file vusw.c.

◆ VuxMulMatrix()

void VuxMulMatrix ( VU_MATRIX * m0,
VU_MATRIX * m1,
VU_MATRIX * out )
extern

Definition at line 251 of file vusw.c.

◆ VuxInverseMatrix()

void VuxInverseMatrix ( VU_MATRIX * in,
VU_MATRIX * mat )
extern

Definition at line 273 of file vusw.c.

◆ VuxCopyMatrix()

void VuxCopyMatrix ( VU_MATRIX * dest,
VU_MATRIX * src )
extern

Definition at line 366 of file vusw.c.

◆ VuxApplyMatrix()

void VuxApplyMatrix ( VU_MATRIX * m,
VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 383 of file vusw.c.

◆ VuxApplyRotMatrix()

void VuxApplyRotMatrix ( VU_MATRIX * m,
VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 396 of file vusw.c.

◆ VuxDotProduct()

float VuxDotProduct ( VU_VECTOR * v0,
VU_VECTOR * v1 )
extern

Definition at line 409 of file vusw.c.

◆ VuxCrossProduct()

VU_VECTOR VuxCrossProduct ( VU_VECTOR * v0,
VU_VECTOR * v1 )
extern

Definition at line 419 of file vusw.c.

◆ VuxCrossProduct0()

void VuxCrossProduct0 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * out )
extern

Definition at line 434 of file vusw.c.

◆ VuxVectorNormal()

void VuxVectorNormal ( VU_VECTOR * v)
extern

Definition at line 447 of file vusw.c.

◆ VuxVectorNormal0()

void VuxVectorNormal0 ( VU_VECTOR * in,
VU_VECTOR * out )
extern

Definition at line 460 of file vusw.c.

◆ VuxApplyMatrixLS()

void VuxApplyMatrixLS ( VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 484 of file vusw.c.

◆ VuxApplyRotMatrixLS()

void VuxApplyRotMatrixLS ( VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 496 of file vusw.c.

◆ VuxMakeLocalScreenMatrix()

void VuxMakeLocalScreenMatrix ( VU_MATRIX * out,
VU_MATRIX * world,
VU_MATRIX * view )
extern

Definition at line 511 of file vusw.c.

◆ VuxMakeLocalScreenMatrix2()

void VuxMakeLocalScreenMatrix2 ( VU_MATRIX * out,
VU_MATRIX * world,
VU_MATRIX * view,
VU_MATRIX * projection )
extern

Definition at line 524 of file vusw.c.

◆ VuxMakeViewMatrix()

void VuxMakeViewMatrix ( VU_MATRIX * out,
VU_VECTOR * rot,
VU_VECTOR * pos,
VU_VECTOR * scale )
extern

Definition at line 544 of file vusw.c.

◆ VuxMakeLookAtViewMatrix()

void VuxMakeLookAtViewMatrix ( VU_MATRIX * out,
VU_VECTOR * eye,
VU_VECTOR * target,
VU_VECTOR * up )
extern

Definition at line 563 of file vusw.c.

◆ VuxMakeProjectionMatrix()

void VuxMakeProjectionMatrix ( VU_MATRIX * proj,
float near_plane_w,
float near_plane_h,
float near_plane_z,
float far_plane_z )
extern

Definition at line 612 of file vusw.c.

◆ VuxUpdateLocalScreenMatrix()

void VuxUpdateLocalScreenMatrix ( void )
extern

update lsm using view, world, proj

Definition at line 634 of file vusw.c.

References VuxUpdateLocalScreenMatrix().

Referenced by VuxUpdateLocalScreenMatrix().

◆ VuxRotTrans()

void VuxRotTrans ( VU_VECTOR * v0,
VU_VECTOR * out )
extern

Definition at line 662 of file vusw.c.

◆ VuxRotTrans3()

void VuxRotTrans3 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * v2,
VU_VECTOR * tv0,
VU_VECTOR * tv1,
VU_VECTOR * tv2 )
extern

Definition at line 671 of file vusw.c.

◆ VuxRotTransN()

void VuxRotTransN ( VU_VECTOR * verts,
VU_VECTOR * tverts,
unsigned int num_verts )
extern

Definition at line 684 of file vusw.c.

◆ VuxPers()

void VuxPers ( VU_VECTOR * v0,
VU_SXYZ * sxyz0 )
extern

Definition at line 698 of file vusw.c.

◆ VuxPers3()

void VuxPers3 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * v2,
VU_SXYZ * sxyz0,
VU_SXYZ * sxyz1,
VU_SXYZ * sxyz2 )
extern

Definition at line 724 of file vusw.c.

◆ VuxPersN()

void VuxPersN ( VU_VECTOR * verts,
VU_SXYZ * sxyz,
unsigned int num_verts )
extern

Definition at line 767 of file vusw.c.

◆ VuxPersClip3()

int VuxPersClip3 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * v2,
VU_SXYZ * sxyz0,
VU_SXYZ * sxyz1,
VU_SXYZ * sxyz2 )
extern

Definition at line 783 of file vusw.c.

◆ VuxRotTransPers()

float VuxRotTransPers ( VU_VECTOR * v0,
VU_SXYZ * sxyz0 )
extern

Definition at line 829 of file vusw.c.

◆ VuxRotTransPers3()

float VuxRotTransPers3 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * v2,
VU_SXYZ * sxyz0,
VU_SXYZ * sxyz1,
VU_SXYZ * sxyz2 )
extern

Definition at line 843 of file vusw.c.

◆ VuxRotTransPersN()

void VuxRotTransPersN ( VU_VECTOR * verts,
VU_SXYZ * sxyz,
unsigned int num_verts )
extern

Definition at line 858 of file vusw.c.

◆ VuxRotTransPersClip3()

int VuxRotTransPersClip3 ( VU_VECTOR * v0,
VU_VECTOR * v1,
VU_VECTOR * v2,
VU_SXYZ * sxyz0,
VU_SXYZ * sxyz1,
VU_SXYZ * sxyz2 )
extern

Definition at line 875 of file vusw.c.

◆ VuxClipSxyz()

int VuxClipSxyz ( VU_SXYZ * sxyz0,
VU_SXYZ * sxyz1,
VU_SXYZ * sxyz2 )
extern

Definition at line 894 of file vusw.c.

◆ VuxLightNormal()

int VuxLightNormal ( VU_VECTOR * normal,
VU_CVECTOR * col0,
void * light,
unsigned int light_type,
VU_CVECTOR * out0 )
extern

Definition at line 922 of file vusw.c.

Variable Documentation

◆ VuWorldMatrix

VU_MATRIX VuWorldMatrix
extern

Definition at line 21 of file vux.c.

◆ VuViewMatrix

VU_MATRIX VuViewMatrix
extern

Definition at line 28 of file vux.c.

◆ VuPrjectionMatrix

VU_MATRIX VuPrjectionMatrix
extern

Definition at line 35 of file vux.c.

◆ VuLocalScreenMatrix

VU_MATRIX VuLocalScreenMatrix
extern

Definition at line 42 of file vux.c.