Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
13void GXSetVtxDescv(const GXVtxDescList* attrPtr);
14void GXClearVtxDesc(void);
15void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac);
17void GXSetArray(GXAttr attr, void* base_ptr, u8 stride);
18void GXInvalidateVtxCache(void);
19void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, u32 pt_texmtx);
20void GXSetNumTexGens(u8 nTexGens);
21
22static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) {
23 GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY);
24}
25
26void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts);
27
28static inline void GXEnd(void) {
29#if DEBUG
30 extern GXBool __GXinBegin;
31 extern void OSPanic(const char* file, int line, const char* msg, ...);
32 if (!__GXinBegin) {
33 OSPanic(__FILE__, 118, "GXEnd: called without a GXBegin");
34 }
35 __GXinBegin = GX_FALSE;
36#endif
37}
38
39void GXSetLineWidth(u8 width, GXTexOffset texOffsets);
40void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets);
41void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable);
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif
static void normalize(f32 v[3])
Definition GXDraw.c:45
enum _GXCompType GXCompType
enum _GXTexCoordID GXTexCoordID
enum _GXTexGenSrc GXTexGenSrc
enum _GXAttr GXAttr
enum _GXVtxFmt GXVtxFmt
enum _GXPrimitive GXPrimitive
@ GX_PTIDENTITY
Definition GXEnum.h:412
enum _GXCompCnt GXCompCnt
enum _GXTexOffset GXTexOffset
enum _GXTexGenType GXTexGenType
u8 GXBool
Definition GXEnum.h:6
enum _GXAttrType GXAttrType
void GXSetVtxDescv(const GXVtxDescList *attrPtr)
Definition GXAttr.c:113
void GXClearVtxDesc(void)
Definition GXAttr.c:241
void GXInvalidateVtxCache(void)
Definition GXAttr.c:527
void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, u32 pt_texmtx)
Definition GXAttr.c:532
void __GXCalculateVLim()
Definition GXAttr.c:139
void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList *list)
Definition GXAttr.c:343
void GXSetArray(GXAttr attr, void *base_ptr, u8 stride)
Definition GXAttr.c:508
void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac)
Definition GXAttr.c:320
void GXSetLineWidth(u8 width, GXTexOffset texOffsets)
Definition GXGeometry.c:66
static void GXEnd(void)
Definition GXGeometry.h:28
void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets)
Definition GXGeometry.c:81
void GXSetNumTexGens(u8 nTexGens)
Definition GXAttr.c:636
void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts)
Definition GXGeometry.c:32
static void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx)
Definition GXGeometry.h:22
void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable)
Definition GXGeometry.c:96
void GXSetVtxDesc(GXAttr attr, GXAttrType type)
Definition GXAttr.c:97
void OSPanic(const char *file, int line, const char *msg,...)
Definition OSError.c:23
GXBool __GXinBegin
Definition GXInit.c:43
static Mtx mtx[10]
Definition c_lib.cpp:512
static const Attr & attr()
Definition d_a_obj_ladder.cpp:135
va_list list
Definition os.h:192
int const char * msg
Definition os.h:193
int line
Definition os.h:193
Definition GXStruct.h:64
Definition GXStruct.h:59
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5