pspgum.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  * Copyright (c) 2005 Jesper Svennevid
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 // stack functions
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 // unimplemented functions
00184 
00185 //sceGumLoadContext
00186 //sceGumSetCurMatrix
00187 //sceGumSetMatrixStack
00188 //sceGumStoreContext
00189 
00190 // standalone functions
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 // vector functions
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

Generated on Tue Jul 24 15:21:22 2007 for PSPSDK-Rev2272 by  doxygen 1.5.2