2022-08-30 04:05:16 +00:00
|
|
|
#ifndef DOLPHIN_GXGEOMETRY_H
|
|
|
|
#define DOLPHIN_GXGEOMETRY_H
|
|
|
|
|
|
|
|
#include <dolphin/gx/GXEnum.h>
|
|
|
|
|
|
|
|
#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);
|
2022-09-18 06:05:46 +00:00
|
|
|
void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx,
|
|
|
|
GXBool normalize, u32 postmtx);
|
2022-08-30 04:05:16 +00:00
|
|
|
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);
|
|
|
|
|
2022-09-18 06:05:46 +00:00
|
|
|
static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func,
|
|
|
|
GXTexGenSrc src_param, u32 mtx) {
|
2022-08-30 04:05:16 +00:00
|
|
|
GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|