SSBM Decomp
Loading...
Searching...
No Matches
GXGeometry.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_GX_GXGEOMETRY_H_
2#define _DOLPHIN_GX_GXGEOMETRY_H_
3
4#include <dolphin/gx/GXEnum.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define GXSETARRAY(attr, data, size, stride, le) \
12 GXSetArray((attr), (data), (stride))
13
14void GXSetVtxDesc(GXAttr attr, GXAttrType type);
15void GXSetVtxDescv(const GXVtxDescList* attrPtr);
16void GXClearVtxDesc(void);
17void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt,
18 GXCompType type, u8 frac);
19void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList* list);
20void GXSetArray(GXAttr attr, const void* base_ptr, u8 stride);
21void GXInvalidateVtxCache(void);
23 GXTexGenSrc src_param, u32 mtx, GXBool normalize,
24 u32 pt_texmtx);
25void GXSetNumTexGens(u8 nTexGens);
26
27static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func,
28 GXTexGenSrc src_param, u32 mtx)
29{
30 GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE,
32}
33
34void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts);
35static inline void GXEnd(void)
36{
37#if DEBUG
38 extern GXBool __GXinBegin;
39 extern void OSPanic(char* file, int line, char* msg, ...);
40 if (!__GXinBegin) {
41 OSPanic(__FILE__, 0x6D, "GXEnd: called without a GXBegin");
42 }
43 __GXinBegin = GX_FALSE;
44#endif
45}
46void GXSetLineWidth(u8 width, GXTexOffset texOffsets);
47void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets);
48void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable);
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif
static void normalize(f32 v[3])
Definition GXDraw.c:49
GXTexOffset
Definition GXEnum.h:451
GXAttrType
Definition GXEnum.h:115
GXCompType
Definition GXEnum.h:375
GXTexGenSrc
Definition GXEnum.h:299
GXCompCnt
Definition GXEnum.h:363
GXAttr
Definition GXEnum.h:84
#define GX_FALSE
Definition GXEnum.h:8
@ GX_PTIDENTITY
Definition GXEnum.h:410
GXTexCoordID
Definition GXEnum.h:199
GXVtxFmt
Definition GXEnum.h:72
GXTexGenType
Definition GXEnum.h:245
u8 GXBool
Definition GXEnum.h:6
GXPrimitive
Definition GXEnum.h:62
void GXSetVtxDescv(const GXVtxDescList *attrPtr)
Definition GXAttr.c:153
void GXClearVtxDesc(void)
Definition GXAttr.c:307
void GXInvalidateVtxCache(void)
Definition GXAttr.c:562
void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, u32 pt_texmtx)
Definition GXAttr.c:568
void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList *list)
Definition GXAttr.c:408
void GXSetArray(GXAttr attr, const void *base_ptr, u8 stride)
Definition GXAttr.c:544
void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac)
Definition GXAttr.c:389
void GXSetLineWidth(u8 width, GXTexOffset texOffsets)
Definition GXGeometry.c:63
static void GXEnd(void)
Definition GXGeometry.h:35
void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets)
Definition GXGeometry.c:81
void GXSetNumTexGens(u8 nTexGens)
Definition GXAttr.c:735
void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts)
Definition GXGeometry.c:28
static void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx)
Definition GXGeometry.h:27
void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable)
Definition GXGeometry.c:99
void GXSetVtxDesc(GXAttr attr, GXAttrType type)
Definition GXAttr.c:138
unsigned int u32
Definition types.h:13
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5
DOLPHIN_ATTRIBUTE_NORETURN void OSPanic(const char *file, int line, const char *msg,...)
Definition OSError.c:20
Definition GXStruct.h:64
Definition GXStruct.h:59