#ifndef DOLPHIN_GXGEOMETRY_H #define DOLPHIN_GXGEOMETRY_H #include #ifdef __cplusplus extern "C" { #endif void GXSetVtxDesc(GXAttr attr, GXAttrType type); void GXSetVtxDescv(GXVtxDescList* list); void GXClearVtxDesc(void); void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac); void GXSetNumTexGens(u8 nTexGens); void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts); void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, u32 postmtx); void GXSetLineWidth(u8 width, GXTexOffset texOffsets); void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets); void GXEnableTexOffsets(GXTexCoordID coord, GXBool line_enable, GXBool point_enable); #ifdef TARGET_PC void GXSetArray(GXAttr attr, const void* data, u32 size, u8 stride); #else void GXSetArray(GXAttr attr, const void* data, u8 stride); #endif void GXInvalidateVtxCache(void); static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) { GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY); } #ifdef __cplusplus } #endif #endif