19#if defined(__cplusplus)
24#define GU_PI (3.141593f)
33#define GU_LINE_STRIP (2)
34#define GU_TRIANGLES (3)
35#define GU_TRIANGLE_STRIP (4)
36#define GU_TRIANGLE_FAN (5)
40#define GU_ALPHA_TEST (0)
41#define GU_DEPTH_TEST (1)
42#define GU_SCISSOR_TEST (2)
43#define GU_STENCIL_TEST (3)
45#define GU_CULL_FACE (5)
48#define GU_CLIP_PLANES (8)
49#define GU_TEXTURE_2D (9)
50#define GU_LIGHTING (10)
55#define GU_LINE_SMOOTH (15)
56#define GU_PATCH_CULL_FACE (16)
57#define GU_COLOR_TEST (17)
58#define GU_COLOR_LOGIC_OP (18)
59#define GU_FACE_NORMAL_REVERSE (19)
60#define GU_PATCH_FACE (20)
61#define GU_FRAGMENT_2X (21)
64#define GU_PROJECTION (0)
70#define GU_TEXTURE_SHIFT(n) ((n)<<0)
71#define GU_TEXTURE_8BIT GU_TEXTURE_SHIFT(1)
72#define GU_TEXTURE_16BIT GU_TEXTURE_SHIFT(2)
73#define GU_TEXTURE_32BITF GU_TEXTURE_SHIFT(3)
74#define GU_TEXTURE_BITS GU_TEXTURE_SHIFT(3)
76#define GU_COLOR_SHIFT(n) ((n)<<2)
77#define GU_COLOR_5650 GU_COLOR_SHIFT(4)
78#define GU_COLOR_5551 GU_COLOR_SHIFT(5)
79#define GU_COLOR_4444 GU_COLOR_SHIFT(6)
80#define GU_COLOR_8888 GU_COLOR_SHIFT(7)
81#define GU_COLOR_BITS GU_COLOR_SHIFT(7)
83#define GU_NORMAL_SHIFT(n) ((n)<<5)
84#define GU_NORMAL_8BIT GU_NORMAL_SHIFT(1)
85#define GU_NORMAL_16BIT GU_NORMAL_SHIFT(2)
86#define GU_NORMAL_32BITF GU_NORMAL_SHIFT(3)
87#define GU_NORMAL_BITS GU_NORMAL_SHIFT(3)
89#define GU_VERTEX_SHIFT(n) ((n)<<7)
90#define GU_VERTEX_8BIT GU_VERTEX_SHIFT(1)
91#define GU_VERTEX_16BIT GU_VERTEX_SHIFT(2)
92#define GU_VERTEX_32BITF GU_VERTEX_SHIFT(3)
93#define GU_VERTEX_BITS GU_VERTEX_SHIFT(3)
95#define GU_WEIGHT_SHIFT(n) ((n)<<9)
96#define GU_WEIGHT_8BIT GU_WEIGHT_SHIFT(1)
97#define GU_WEIGHT_16BIT GU_WEIGHT_SHIFT(2)
98#define GU_WEIGHT_32BITF GU_WEIGHT_SHIFT(3)
99#define GU_WEIGHT_BITS GU_WEIGHT_SHIFT(3)
101#define GU_INDEX_SHIFT(n) ((n)<<11)
102#define GU_INDEX_8BIT GU_INDEX_SHIFT(1)
103#define GU_INDEX_16BIT GU_INDEX_SHIFT(2)
104#define GU_INDEX_BITS GU_INDEX_SHIFT(3)
106#define GU_WEIGHTS(n) ((((n)-1)&7)<<14)
107#define GU_WEIGHTS_BITS GU_WEIGHTS(8)
108#define GU_VERTICES(n) ((((n)-1)&7)<<18)
109#define GU_VERTICES_BITS GU_VERTICES(8)
111#define GU_TRANSFORM_SHIFT(n) ((n)<<23)
112#define GU_TRANSFORM_3D GU_TRANSFORM_SHIFT(0)
113#define GU_TRANSFORM_2D GU_TRANSFORM_SHIFT(1)
114#define GU_TRANSFORM_BITS GU_TRANSFORM_SHIFT(1)
118#define GU_PSM_5650 (0)
119#define GU_PSM_5551 (1)
120#define GU_PSM_4444 (2)
121#define GU_PSM_8888 (3)
124#define GU_PSM_T16 (6)
125#define GU_PSM_T32 (7)
126#define GU_PSM_DXT1 (8)
127#define GU_PSM_DXT3 (9)
128#define GU_PSM_DXT5 (10)
131#define GU_FILL_FILL (0)
132#define GU_OPEN_FILL (1)
133#define GU_FILL_OPEN (2)
134#define GU_OPEN_OPEN (3)
143#define GU_AND_REVERSE (2)
145#define GU_AND_INVERTED (4)
151#define GU_INVERTED (10)
152#define GU_OR_REVERSE (11)
153#define GU_COPY_INVERTED (12)
154#define GU_OR_INVERTED (13)
159#define GU_NEAREST (0)
161#define GU_NEAREST_MIPMAP_NEAREST (4)
162#define GU_LINEAR_MIPMAP_NEAREST (5)
163#define GU_NEAREST_MIPMAP_LINEAR (6)
164#define GU_LINEAR_MIPMAP_LINEAR (7)
167#define GU_TEXTURE_COORDS (0)
168#define GU_TEXTURE_MATRIX (1)
169#define GU_ENVIRONMENT_MAP (2)
172#define GU_TEXTURE_AUTO (0)
173#define GU_TEXTURE_CONST (1)
174#define GU_TEXTURE_SLOPE (2)
177#define GU_POSITION (0)
179#define GU_NORMALIZED_NORMAL (2)
194#define GU_NOTEQUAL (3)
197#define GU_GREATER (6)
201#define GU_COLOR_BUFFER_BIT (1)
202#define GU_STENCIL_BUFFER_BIT (2)
203#define GU_DEPTH_BUFFER_BIT (4)
204#define GU_FAST_CLEAR_BIT (16)
207#define GU_TFX_MODULATE (0)
208#define GU_TFX_DECAL (1)
209#define GU_TFX_BLEND (2)
210#define GU_TFX_REPLACE (3)
211#define GU_TFX_ADD (4)
214#define GU_TCC_RGB (0)
215#define GU_TCC_RGBA (1)
219#define GU_SUBTRACT (1)
220#define GU_REVERSE_SUBTRACT (2)
226#define GU_SRC_COLOR (0)
227#define GU_ONE_MINUS_SRC_COLOR (1)
228#define GU_SRC_ALPHA (2)
229#define GU_ONE_MINUS_SRC_ALPHA (3)
230#define GU_DST_COLOR (0)
231#define GU_ONE_MINUS_DST_COLOR (1)
232#define GU_DST_ALPHA (4)
233#define GU_ONE_MINUS_DST_ALPHA (5)
239#define GU_REPLACE (2)
245#define GU_AMBIENT (1)
246#define GU_DIFFUSE (2)
247#define GU_SPECULAR (4)
248#define GU_AMBIENT_AND_DIFFUSE (GU_AMBIENT|GU_DIFFUSE)
249#define GU_DIFFUSE_AND_SPECULAR (GU_DIFFUSE|GU_SPECULAR)
250#define GU_UNKNOWN_LIGHT_COMPONENT (8)
253#define GU_SINGLE_COLOR (0)
254#define GU_SEPARATE_SPECULAR_COLOR (1)
257#define GU_DIRECTIONAL (0)
258#define GU_POINTLIGHT (1)
259#define GU_SPOTLIGHT (2)
271#define GU_SYNC_FINISH (0)
272#define GU_SYNC_SIGNAL (1)
273#define GU_SYNC_DONE (2)
274#define GU_SYNC_LIST (3)
275#define GU_SYNC_SEND (4)
278#define GU_SYNC_WAIT (0)
279#define GU_SYNC_NOWAIT (1)
282#define GU_SYNC_WHAT_DONE (0)
283#define GU_SYNC_WHAT_QUEUED (1)
284#define GU_SYNC_WHAT_DRAW (2)
285#define GU_SYNC_WHAT_STALL (3)
286#define GU_SYNC_WHAT_CANCEL (4)
289#define GU_CALLBACK_SIGNAL (1)
290#define GU_CALLBACK_FINISH (4)
293#define GU_BEHAVIOR_SUSPEND (1)
294#define GU_BEHAVIOR_CONTINUE (2)
297#define GU_ABGR(a,b,g,r) (((a) << 24)|((b) << 16)|((g) << 8)|(r))
298#define GU_ARGB(a,r,g,b) GU_ABGR((a),(b),(g),(r))
299#define GU_RGBA(r,g,b,a) GU_ARGB((a),(r),(g),(b))
302#define GU_COLOR(r,g,b,a) GU_RGBA((u32)((r) * 255.0f),(u32)((g) * 255.0f),(u32)((b) * 255.0f),(u32)((a) * 255.0f))
1009void sceGuModelColor(
unsigned int emissive,
unsigned int ambient,
unsigned int diffuse,
unsigned int specular);
1140void sceGuCopyImage(
int psm,
int sx,
int sy,
int width,
int height,
int srcw,
void*
src,
int dx,
int dy,
int destw,
void*
dest);
1554#if defined(__cplusplus)
#define a3
Definition as_reg_compat.h:25
#define a2
Definition as_reg_compat.h:24
#define a0
Definition as_reg_compat.h:22
#define a1
Definition as_reg_compat.h:23
u32 flags
Definition fixup.c:1
void sceGuSpecular(float power)
Set the specular power for the material.
Definition sceGuSpecular.c:11
void sceGuDispBuffer(int width, int height, void *dispbp, int dispbw)
Set display buffer parameters.
Definition sceGuDispBuffer.c:20
void sceGuFog(float near, float far, unsigned int color)
Definition sceGuFog.c:11
void sceGuTexProjMapMode(int mode)
Set texture projection-map mode.
Definition sceGuTexProjMapMode.c:11
void sceGuTexScale(float u, float v)
Set texture scale.
Definition sceGuTexScale.c:11
void sceGuDepthRange(int near, int far)
Set which range to use for depth calculations.
Definition sceGuDepthRange.c:11
void * sceGuSwapBuffers(void)
Swap display and draw buffer.
Definition sceGuSwapBuffers.c:14
void sceGuClearStencil(unsigned int stencil)
Set the current stencil clear value.
Definition sceGuClearStencil.c:11
void sceGuSetMatrix(int type, const ScePspFMatrix4 *matrix)
Set transform matrices.
Definition sceGuSetMatrix.c:11
int sceGuFinishId(unsigned int id)
Finish current display list and go back to the parent context, sending argument id for the finish cal...
Definition sceGuFinish.c:47
void sceGuPatchDivide(unsigned int ulevel, unsigned int vlevel)
Set dividing for patches (beziers and splines)
Definition sceGuPatchDivide.c:11
void sceGuLogicalOp(int op)
Set color logical operation.
Definition sceGuLogicalOp.c:11
void sceGuClutLoad(int num_blocks, const void *cbp)
Upload CLUT (Color Lookup Table)
Definition sceGuClutLoad.c:11
void sceGuDisable(int state)
Disable GE state.
Definition sceGuDisable.c:11
void sceGuPatchPrim(int prim)
Set primitive for patches (beziers and splines)
Definition sceGuPatchPrim.c:11
int sceGuGetStatus(int state)
Get if state is currently enabled or disabled.
Definition sceGuGetStatus.c:11
void sceGuBeginObject(int vtype, int count, const void *indices, const void *vertices)
Begin conditional rendering of object.
Definition sceGuBeginObject.c:11
void sceGuStencilFunc(int func, int ref, int mask)
Set stencil function and reference value for stencil testing.
Definition sceGuStencilFunc.c:11
void * sceGuGetMemory(int size)
Allocate memory on the current display list for temporary storage.
Definition sceGuGetMemory.c:14
void sceGuDrawBezier(int vtype, int ucount, int vcount, const void *indices, const void *vertices)
Draw bezier surface.
Definition sceGuDrawBezier.c:11
void sceGuViewport(int cx, int cy, int width, int height)
Set current viewport.
Definition sceGuViewport.c:11
int sceGuSync(int mode, int what)
Wait until display list has finished executing.
Definition sceGuSync.c:14
void sceGuMaterial(int mode, int color)
Definition sceGuMaterial.c:11
void sceGuDrawBuffer(int psm, void *fbp, int fbw)
Set draw buffer parameters (and store in context for buffer-swap)
Definition sceGuDrawBuffer.c:11
void sceGuTexFlush(void)
Flush texture page-cache.
Definition sceGuTexFlush.c:11
void sceGuTerm(void)
Shutdown the GU system.
Definition sceGuTerm.c:14
int sceGuFinish(void)
Finish current display list and go back to the parent context.
Definition sceGuFinish.c:11
void sceGuBreak(int a0)
Definition sceGuBreak.c:11
void sceGuScissor(int x, int y, int w, int h)
Set what to scissor within the current viewport.
Definition sceGuScissor.c:11
void sceGuDepthMask(int mask)
Mask depth buffer writes.
Definition sceGuDepthMask.c:11
void sceGuMorphWeight(int index, float weight)
Specify morph weight entry.
Definition sceGuMorphWeight.c:11
void sceGuFrontFace(int order)
Set the current face-order (for culling)
Definition sceGuFrontFace.c:11
void * guGetStaticVramBuffer(unsigned int width, unsigned int height, unsigned int psm)
Allocate a draw buffer in vram.
Definition vram.c:39
void sceGuModelColor(unsigned int emissive, unsigned int ambient, unsigned int diffuse, unsigned int specular)
Definition sceGuModelColor.c:11
void sceGuContinue(void)
Definition sceGuContinue.c:11
void guSwapBuffersBehaviour(int behaviour)
Set how the display should be set.
Definition sceGuSwapBuffers.c:35
void sceGuInit(void)
Initalize the GU system.
Definition sceGuInit.c:257
void sceGuTexSync()
Synchronize rendering pipeline with image upload.
Definition sceGuTexSync.c:11
void sceGuTexFilter(int min, int mag)
Set how the texture is filtered.
Definition sceGuTexFilter.c:11
void sceGuCallList(const void *list)
Call previously generated display-list.
Definition sceGuCallList.c:11
int sceGuCheckList(void)
Check how large the current display-list is.
Definition sceGuCheckList.c:11
void sceGuLightMode(int mode)
Set light mode.
Definition sceGuLightMode.c:11
void sceGuTexFunc(int tfx, int tcc)
Set how textures are applied.
Definition sceGuTexFunc.c:11
void sceGuBoneMatrix(unsigned int index, const ScePspFMatrix4 *matrix)
Specify skinning matrix entry.
Definition sceGuBoneMatrix.c:11
void sceGuSignal(int signal, int behavior)
Trigger signal to call code from the command stream.
Definition sceGuSignal.c:11
void sceGuLight(int light, int type, int components, const ScePspFVector3 *position)
Set light parameters.
Definition sceGuLight.c:11
void sceGuStart(int cid, void *list)
Start filling a new display-context.
Definition sceGuStart.c:14
void sceGuCopyImage(int psm, int sx, int sy, int width, int height, int srcw, void *src, int dx, int dy, int destw, void *dest)
Image transfer using the GE.
Definition sceGuCopyImage.c:11
void sceGuDepthOffset(unsigned int offset)
Definition sceGuDepthOffset.c:11
void sceGuDrawArray(int prim, int vtype, int count, const void *indices, const void *vertices)
Draw array of vertices forming primitives.
Definition sceGuDrawArray.c:11
void sceGuLightAtt(int light, float atten0, float atten1, float atten2)
Set light attenuation.
Definition sceGuLightAtt.c:11
void sceGuTexEnvColor(unsigned int color)
Specify the texture environment color.
Definition sceGuTexEnvColor.c:11
void sceGuDrawArrayN(int primitive_type, int vertex_type, int count, int a3, const void *indices, const void *vertices)
Definition sceGuDrawArrayN.c:11
void sceGuSetAllStatus(int status)
Set the status on all 22 available states.
Definition sceGuSetAllStatus.c:11
void sceGuBlendFunc(int op, int src, int dest, unsigned int srcfix, unsigned int destfix)
Set the blending-mode.
Definition sceGuBlendFunc.c:11
void sceGuSetStatus(int state, int status)
Enable or disable GE state.
Definition sceGuSetStatus.c:11
void sceGuPatchFrontFace(unsigned int a0)
Definition sceGuPatchFrontFace.c:11
void sceGuColorMaterial(int components)
Set which color components that the material will receive.
Definition sceGuColorMaterial.c:11
int sceGuDisplay(int state)
Turn display on or off.
Definition sceGuDisplay.c:14
void sceGuClearDepth(unsigned int depth)
Set the current clear-depth.
Definition sceGuClearDepth.c:11
void * sceGuSetCallback(int signal, void(*callback)(int))
Setup signal handler.
Definition sceGuSetCallback.c:11
void * guGetStaticVramTexture(unsigned int width, unsigned int height, unsigned int psm)
Allocate a texture in vram.
Definition vram.c:48
void sceGuEndObject(void)
End conditional rendering of object.
Definition sceGuEndObject.c:11
void sceGuAmbient(unsigned int color)
Definition sceGuAmbient.c:11
void sceGuDepthBuffer(void *zbp, int zbw)
Set depth buffer parameters.
Definition sceGuDepthBuffer.c:11
int sceGuGetAllStatus(void)
Query status on all 22 available states.
Definition sceGuGetAllStatus.c:11
void sceGuPixelMask(unsigned int mask)
Set mask for which bits of the pixels to write.
Definition sceGuPixelMask.c:11
void sceGuColor(unsigned int color)
Set current primitive color.
Definition sceGuColor.c:11
void sceGuAlphaFunc(int func, int value, int mask)
Set the alpha test parameters.
Definition sceGuAlphaFunc.c:11
int sceGuSendList(int mode, const void *list, PspGeContext *context)
Send a list to the GE directly.
Definition sceGuSendList.c:14
void sceGuDepthFunc(int function)
Select which depth-test function to use.
Definition sceGuDepthFunc.c:11
void sceGuTexOffset(float u, float v)
Set texture offset.
Definition sceGuTexOffset.c:11
void sceGuDrawSpline(int vtype, int ucount, int vcount, int uedge, int vedge, const void *indices, const void *vertices)
Definition sceGuDrawSpline.c:11
void sceGuTexMode(int tpsm, int maxmips, int a2, int swizzle)
Set texture-mode parameters.
Definition sceGuTexMode.c:11
void sceGuSendCommandi(int cmd, int argument)
Send raw command to the GE.
Definition sceGuSendCommandi.c:11
void sceGuDrawBufferList(int psm, void *fbp, int fbw)
Set draw buffer directly, not storing parameters in the context.
Definition sceGuDrawBufferList.c:11
void sceGuLightSpot(int light, const ScePspFVector3 *direction, float exponent, float cutoff)
Set spotlight parameters.
Definition sceGuLightSpot.c:11
void sceGuCallMode(int mode)
Set wether to use stack-based calls or signals to handle execution of called lists.
Definition sceGuCallMode.c:11
void sceGuLightColor(int light, int component, unsigned int color)
Set light color.
Definition sceGuLightColor.c:11
void sceGuEnable(int state)
Enable GE state.
Definition sceGuEnable.c:11
int guGetDisplayState()
Get state of display.
Definition sceGuDisplay.c:25
void sceGuClutMode(unsigned int cpsm, unsigned int shift, unsigned int mask, unsigned int a3)
Set current CLUT mode.
Definition sceGuClutMode.c:11
void sceGuClear(int flags)
Clear current drawbuffer.
Definition sceGuClear.c:11
void sceGuStencilOp(int fail, int zfail, int zpass)
Set the stencil test actions.
Definition sceGuStencilOp.c:11
void sceGuColorFunc(int func, unsigned int color, unsigned int mask)
Set the color test function.
Definition sceGuColorFunc.c:11
void sceGuTexMapMode(int mode, unsigned int a1, unsigned int a2)
Set the texture-mapping mode.
Definition sceGuTexMapMode.c:11
void sceGuAmbientColor(unsigned int color)
Definition sceGuAmbientColor.c:11
void sceGuTexLevelMode(unsigned int mode, float bias)
Set texture-level mode (mipmapping)
Definition sceGuTexLevelMode.c:13
void sceGuTexSlope(float slope)
Definition sceGuTexSlope.c:11
void sceGuOffset(unsigned int x, unsigned int y)
Set virtual coordinate offset.
Definition sceGuOffset.c:11
void sceGuTexImage(int mipmap, int width, int height, int tbw, const void *tbp)
Set current texturemap.
Definition sceGuTexImage.c:16
void guSwapBuffersCallback(GuSwapBuffersCallback callback)
Set a buffer swap callback to allow for more advanced buffer methods without hacking the library.
Definition sceGuSwapBuffers.c:40
void sceGuClearColor(unsigned int color)
Set the current clear-color.
Definition sceGuClearColor.c:11
void sceGuSetDither(const ScePspIMatrix4 *matrix)
Set ordered pixel dither matrix.
Definition sceGuSetDither.c:11
void sceGuShadeModel(int mode)
Set how primitives are shaded.
Definition sceGuShadeModel.c:11
void sceGuSendCommandf(int cmd, float argument)
Send raw float-command to the GE.
Definition sceGuSendCommandf.c:11
void sceGuTexWrap(int u, int v)
Set if the texture should repeat or clamp.
Definition sceGuTexWrap.c:11
void(* GuSwapBuffersCallback)(void **display, void **render)
Definition pspgu.h:304
unsigned char size
Definition pspsysmem_kernel.h:6
struct _uidControlBlock * type
Definition pspsysmem_kernel.h:2
float w
Definition psptypes.h:3
float y
Definition psptypes.h:1
float x
Definition psptypes.h:0
Stores the state of the GE.
Definition pspge.h:23
Definition psptypes.h:300
Definition psptypes.h:182
Definition psptypes.h:286