PSPSDK 2024-12-16
Loading...
Searching...
No Matches
pspgum.h
Go to the documentation of this file.
1/*
2 * PSP Software Development Kit - https://github.com/pspdev
3 * -----------------------------------------------------------------------
4 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5 *
6 * Copyright (c) 2005 Jesper Svennevid
7 */
8
9#ifndef __pspgum_h__
10#define __pspgum_h__
11
12#include <psptypes.h>
13
14#if defined(__cplusplus)
15extern "C" {
16#endif
17
18// stack functions
19
20void sceGumDrawArray(int prim, int vtype, int count, const void* indices, const void* vertices);
21void sceGumDrawArrayN(int prim, int vtype, int count, int a3, const void* indices, const void* vertices);
22void sceGumDrawBezier(int vtype, int ucount, int vcount, const void* indices, const void* vertices);
23void sceGumDrawSpline(int vtype, int ucount, int vcount, int uedge, int vedge, const void* indices, const void* vertices);
24
34
41
43
55void sceGumMatrixMode(int mode);
56
63
69void sceGumOrtho(float left, float right, float bottom, float top, float near, float far);
70
76void sceGumPerspective(float fovy, float aspect, float near, float far);
77
81void sceGumPopMatrix(void);
82
87
93void sceGumRotateX(float angle);
94
101
108
115
122
129
136
143
148
155
163
174void sceGumBeginObject(int vtype, int count, const void* indices, const void* vertices);
175
182
183// unimplemented functions
184
185//sceGumLoadContext
186//sceGumSetCurMatrix
187//sceGumSetMatrixStack
188//sceGumStoreContext
189
190// standalone functions
191
192void gumInit(void);
193
200
204void gumOrtho(ScePspFMatrix4* m, float left, float right, float bottom, float top, float near, float far);
205void gumPerspective(ScePspFMatrix4* m, float fovy, float aspect, float near, float far);
214
225
226// vector functions
227
231
232#if defined(__cplusplus)
233}
234#endif
235
236#endif
#define a3
Definition as_reg_compat.h:25
void gumNormalize(ScePspFVector3 *v)
void sceGumMultMatrix(const ScePspFMatrix4 *m)
Multiply current matrix with input.
void sceGumUpdateMatrix(void)
Explicitly flush dirty matrices to the hardware.
void gumRotateX(ScePspFMatrix4 *m, float angle)
void sceGumLoadIdentity(void)
Load identity matrix.
void sceGumBeginObject(int vtype, int count, const void *indices, const void *vertices)
Stack-aware version of sceGuBeginObject() (look in pspgu.h for description)
void sceGumRotateXYZ(const ScePspFVector3 *v)
Rotate around all 3 axis in order X, Y, Z.
void gumCrossProduct(ScePspFVector3 *r, const ScePspFVector3 *a, const ScePspFVector3 *b)
void gumPerspective(ScePspFMatrix4 *m, float fovy, float aspect, float near, float far)
void gumRotateZ(ScePspFMatrix4 *m, float angle)
void sceGumLookAt(ScePspFVector3 *eye, ScePspFVector3 *center, ScePspFVector3 *up)
void gumFastInverse(ScePspFMatrix4 *r, const ScePspFMatrix4 *a)
Invert orthonogal 4x4 matrix.
void sceGumPushMatrix(void)
Push current matrix onto stack.
void gumRotateY(ScePspFMatrix4 *m, float angle)
void gumRotateZYX(ScePspFMatrix4 *m, const ScePspFVector3 *v)
void gumLoadIdentity(ScePspFMatrix4 *m)
Load matrix with identity.
float gumDotProduct(const ScePspFVector3 *a, const ScePspFVector3 *b)
void sceGumStoreMatrix(ScePspFMatrix4 *m)
Store current matrix in the stack.
void gumLoadMatrix(ScePspFMatrix4 *r, const ScePspFMatrix4 *a)
void sceGumPopMatrix(void)
Pop matrix from stack.
void gumOrtho(ScePspFMatrix4 *m, float left, float right, float bottom, float top, float near, float far)
void sceGumDrawArrayN(int prim, int vtype, int count, int a3, const void *indices, const void *vertices)
void sceGumRotateX(float angle)
Rotate around the X axis.
void sceGumDrawArray(int prim, int vtype, int count, const void *indices, const void *vertices)
void sceGumOrtho(float left, float right, float bottom, float top, float near, float far)
Apply ortho projection matrix.
void sceGumScale(const ScePspFVector3 *v)
Scale matrix.
void sceGumFastInverse()
Invert orthonogal 4x4 matrix.
void sceGumDrawBezier(int vtype, int ucount, int vcount, const void *indices, const void *vertices)
void sceGumDrawSpline(int vtype, int ucount, int vcount, int uedge, int vedge, const void *indices, const void *vertices)
void sceGumRotateZ(float angle)
Rotate around the Z axis.
void gumLookAt(ScePspFMatrix4 *m, ScePspFVector3 *eye, ScePspFVector3 *center, ScePspFVector3 *up)
void gumFullInverse(ScePspFMatrix4 *r, const ScePspFMatrix4 *a)
void gumMultMatrix(ScePspFMatrix4 *result, const ScePspFMatrix4 *a, const ScePspFMatrix4 *b)
void sceGumLoadMatrix(const ScePspFMatrix4 *m)
Load matrix.
void gumInit(void)
void gumRotateXYZ(ScePspFMatrix4 *m, const ScePspFVector3 *v)
void gumTranslate(ScePspFMatrix4 *m, const ScePspFVector3 *v)
void sceGumMatrixMode(int mode)
Select which matrix stack to operate on.
void sceGumEndObject()
Stack-aware version of sceGuEndObject()
void sceGumRotateZYX(const ScePspFVector3 *v)
Rotate around all 3 axis in order Z, Y, X.
void sceGumPerspective(float fovy, float aspect, float near, float far)
Apply perspective projection matrix.
void sceGumRotateY(float angle)
Rotate around the Y axis.
void sceGumFullInverse()
Invert 4x4 matrix.
void gumScale(ScePspFMatrix4 *m, const ScePspFVector3 *v)
void sceGumTranslate(const ScePspFVector3 *v)
Translate coordinate system.
float r
Definition psptypes.h:0
float a
Definition psptypes.h:3
float b
Definition psptypes.h:2
float x
Definition psptypes.h:0
Definition psptypes.h:300
Definition psptypes.h:182