00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __pspgum_h__
00010 #define __pspgum_h__
00011
00012 #include <psptypes.h>
00013
00014 #if defined(__cplusplus)
00015 extern "C" {
00016 #endif
00017
00018
00019
00020 void sceGumDrawArray(int prim, int vtype, int count, const void* indices, const void* vertices);
00021 void sceGumDrawArrayN(int prim, int vtype, int count, int a3, const void* indices, const void* vertices);
00022 void sceGumDrawBezier(int vtype, int ucount, int vcount, const void* indices, const void* vertices);
00023 void sceGumDrawSpline(int vtype, int ucount, int vcount, int uedge, int vedge, const void* indices, const void* vertices);
00024
00033 void sceGumLoadIdentity(void);
00034
00040 void sceGumLoadMatrix(const ScePspFMatrix4* m);
00041
00042 void sceGumLookAt(ScePspFVector3* eye, ScePspFVector3* center, ScePspFVector3* up);
00043
00055 void sceGumMatrixMode(int mode);
00056
00062 void sceGumMultMatrix(const ScePspFMatrix4* m);
00063
00069 void sceGumOrtho(float left, float right, float bottom, float top, float near, float far);
00070
00076 void sceGumPerspective(float fovy, float aspect, float near, float far);
00077
00081 void sceGumPopMatrix(void);
00082
00086 void sceGumPushMatrix(void);
00087
00093 void sceGumRotateX(float angle);
00094
00100 void sceGumRotateY(float angle);
00101
00107 void sceGumRotateZ(float angle);
00108
00114 void sceGumRotateXYZ(const ScePspFVector3* v);
00115
00121 void sceGumRotateZYX(const ScePspFVector3* v);
00122
00128 void sceGumScale(const ScePspFVector3* v);
00129
00135 void sceGumStoreMatrix(ScePspFMatrix4* m);
00136
00142 void sceGumTranslate(const ScePspFVector3* v);
00143
00147 void sceGumUpdateMatrix(void);
00148
00154 void sceGumFullInverse();
00155
00162 void sceGumFastInverse();
00163
00174 void sceGumBeginObject(int vtype, int count, const void* indices, const void* vertices);
00175
00181 void sceGumEndObject();
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192 void gumInit(void);
00193
00199 void gumLoadIdentity(ScePspFMatrix4* m);
00200
00201 void gumLoadMatrix(ScePspFMatrix4* r, const ScePspFMatrix4* a);
00202 void gumLookAt(ScePspFMatrix4* m, ScePspFVector3* eye, ScePspFVector3* center, ScePspFVector3* up);
00203 void gumMultMatrix(ScePspFMatrix4* result, const ScePspFMatrix4* a, const ScePspFMatrix4* b);
00204 void gumOrtho(ScePspFMatrix4* m, float left, float right, float bottom, float top, float near, float far);
00205 void gumPerspective(ScePspFMatrix4* m, float fovy, float aspect, float near, float far);
00206 void gumRotateX(ScePspFMatrix4* m, float angle);
00207 void gumRotateXYZ(ScePspFMatrix4* m, const ScePspFVector3* v);
00208 void gumRotateY(ScePspFMatrix4* m, float angle);
00209 void gumRotateZ(ScePspFMatrix4* m, float angle);
00210 void gumRotateZYX(ScePspFMatrix4* m, const ScePspFVector3* v);
00211 void gumScale(ScePspFMatrix4* m, const ScePspFVector3* v);
00212 void gumTranslate(ScePspFMatrix4* m, const ScePspFVector3* v);
00213 void gumFullInverse(ScePspFMatrix4* r, const ScePspFMatrix4* a);
00214
00224 void gumFastInverse(ScePspFMatrix4* r, const ScePspFMatrix4* a);
00225
00226
00227
00228 void gumCrossProduct(ScePspFVector3* r, const ScePspFVector3* a, const ScePspFVector3* b);
00229 float gumDotProduct(const ScePspFVector3* a, const ScePspFVector3* b);
00230 void gumNormalize(ScePspFVector3* v);
00231
00232 #if defined(__cplusplus)
00233 }
00234 #endif
00235
00236 #endif