8 #define C3D_FVUNIF_COUNT 96
9 #define C3D_IVUNIF_COUNT 4
11 extern C3D_FVec C3D_FVUnif[2][C3D_FVUNIF_COUNT];
12 extern C3D_IVec C3D_IVUnif[2][C3D_IVUNIF_COUNT];
13 extern u16 C3D_BoolUnifs[2];
15 extern bool C3D_FVUnifDirty[2][C3D_FVUNIF_COUNT];
16 extern bool C3D_IVUnifDirty[2][C3D_IVUNIF_COUNT];
17 extern bool C3D_BoolUnifsDirty[2];
29 for (i = 0; i < size; i ++)
30 C3D_FVUnifDirty[type][
id+i] =
true;
31 return &C3D_FVUnif[type][id];
43 C3D_IVUnifDirty[type][id] =
true;
44 return &C3D_IVUnif[type][id];
59 for (i = 0; i < num; i ++)
138 C3D_BoolUnifsDirty[type] =
true;
140 C3D_BoolUnifs[type] |=
BIT(
id);
142 C3D_BoolUnifs[type] &= ~
BIT(
id);
Basic math library for matrix, vector, and quaternion operations.
static C3D_IVec IVec_Pack(u8 x, u8 y, u8 z, u8 w)
Packs 4 u8 integers into a vector.
Definition: types.h:34
u32 C3D_IVec
Integer vector.
Definition: types.h:24
Float vector.
Definition: types.h:52
float x
X-component.
Definition: types.h:61
float z
Z-component.
Definition: types.h:59
float w
W-component.
Definition: types.h:58
float y
Y-component.
Definition: types.h:60
Row-major 4x4 matrix.
Definition: types.h:91
C3D_FVec r[4]
Rows are vectors.
Definition: types.h:92