261 #define FRUSTUM_SIDE_COUNT 6
This file contains global type definitions which are used throughout the entire engine and applicatio...
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
float f32
32-bit floating point number
Definition: defines.h:47
signed int i32
Signed 32-bit integer.
Definition: defines.h:39
union mat3_u mat3
A 3x3 matrix.
struct extents_2d extents_2d
Represents the extents of a 2d object.
struct vertex_2d vertex_2d
Represents a single vertex in 2D space.
union vec2_u vec2
A 2-element vector.
union vec4i_t vec4i
A 4-element integer-based vector.
#define FRUSTUM_SIDE_COUNT
Definition: math_types.h:261
frustum_side
Definition: math_types.h:263
@ FRUSTUM_SIDE_FAR
Definition: math_types.h:268
@ FRUSTUM_SIDE_LEFT
Definition: math_types.h:267
@ FRUSTUM_SIDE_TOP
Definition: math_types.h:264
@ FRUSTUM_SIDE_BOTTOM
Definition: math_types.h:265
@ FRUSTUM_SIDE_NEAR
Definition: math_types.h:269
@ FRUSTUM_SIDE_RIGHT
Definition: math_types.h:266
union vec4_u vec4
A 4-element vector.
union vec3_u vec3
A 3-element vector.
union mat4_u mat4
a 4x4 matrix, typically used to represent object transformations.
union uvec4_u uvec4
A 4-element vector of unsigned ints.
struct extents_3d extents_3d
Represents the extents of a 3d object.
struct vertex_3d vertex_3d
Represents a single vertex in 3D space.
vec4 rect_2d
A 2d rectangle.
Definition: math_types.h:138
struct colour_vertex_3d colour_vertex_3d
Represents a single vertex in 3D space with position and colour data only.
union vec3i_t vec3i
A 3-element integer-based vector.
union vec2i_t vec2i
A 2-element integer-based vector.
vec4 quat
A quaternion, used to represent rotational orientation.
Definition: math_types.h:135
Represents a single vertex in 3D space with position and colour data only.
Definition: math_types.h:249
vec4 position
The position of the vertex. w is ignored.
Definition: math_types.h:251
vec4 colour
The colour of the vertex.
Definition: math_types.h:253
Represents the extents of a 2d object.
Definition: math_types.h:203
vec2 max
The maximum extents of the object.
Definition: math_types.h:207
vec2 min
The minimum extents of the object.
Definition: math_types.h:205
Represents the extents of a 3d object.
Definition: math_types.h:213
vec3 min
The minimum extents of the object.
Definition: math_types.h:215
vec3 max
The maximum extents of the object.
Definition: math_types.h:217
Definition: math_types.h:272
plane_3d sides[FRUSTUM_SIDE_COUNT]
Definition: math_types.h:274
Definition: math_types.h:395
vec3 position
Definition: math_types.h:396
f32 radius
Definition: math_types.h:397
Definition: math_types.h:256
f32 distance
Definition: math_types.h:258
vec3 normal
Definition: math_types.h:257
Definition: math_types.h:391
vec3 verts[3]
Definition: math_types.h:392
Represents a single vertex in 2D space.
Definition: math_types.h:239
vec2 position
The position of the vertex.
Definition: math_types.h:241
vec2 texcoord
The texture coordinate of the vertex.
Definition: math_types.h:243
Represents a single vertex in 3D space.
Definition: math_types.h:223
vec3 position
The position of the vertex.
Definition: math_types.h:225
vec3 normal
The normal of the vertex.
Definition: math_types.h:227
vec2 texcoord
The texture coordinate of the vertex.
Definition: math_types.h:229
vec4 tangent
The tangent of the vertex.
Definition: math_types.h:233
vec4 colour
The colour of the vertex.
Definition: math_types.h:231
A 3x3 matrix.
Definition: math_types.h:189
f32 data[12]
The matrix elements.
Definition: math_types.h:191
a 4x4 matrix, typically used to represent object transformations.
Definition: math_types.h:195
f32 data[16]
The matrix elements.
Definition: math_types.h:197
A 4-element vector of unsigned ints.
Definition: math_types.h:143
u32 y
The second element.
Definition: math_types.h:158
u32 b
The third element.
Definition: math_types.h:168
u32 s
The first element.
Definition: math_types.h:154
u32 t
The third element.
Definition: math_types.h:162
u32 w
The fourth element.
Definition: math_types.h:176
u32 r
The first element.
Definition: math_types.h:152
u32 q
The fourth element.
Definition: math_types.h:180
u32 elements[4]
An array of x, y, z, w.
Definition: math_types.h:145
u32 width
The third element.
Definition: math_types.h:172
u32 p
The third element.
Definition: math_types.h:170
u32 z
The third element.
Definition: math_types.h:166
u32 height
The fourth element.
Definition: math_types.h:182
u32 g
The third element.
Definition: math_types.h:160
u32 a
The fourth element.
Definition: math_types.h:178
u32 x
The first element.
Definition: math_types.h:150
A 2-element vector.
Definition: math_types.h:19
f32 r
The first element.
Definition: math_types.h:27
f32 v
The second element.
Definition: math_types.h:41
f32 s
The first element.
Definition: math_types.h:29
f32 x
The first element.
Definition: math_types.h:25
f32 g
The second element.
Definition: math_types.h:37
f32 t
The second element.
Definition: math_types.h:39
f32 u
The first element.
Definition: math_types.h:31
f32 y
The second element.
Definition: math_types.h:35
f32 elements[2]
An array of x, y.
Definition: math_types.h:21
A 2-element integer-based vector.
Definition: math_types.h:280
i32 v
The second element.
Definition: math_types.h:302
i32 r
The first element.
Definition: math_types.h:288
i32 g
The second element.
Definition: math_types.h:298
i32 y
The second element.
Definition: math_types.h:296
i32 u
The first element.
Definition: math_types.h:292
i32 s
The first element.
Definition: math_types.h:290
i32 t
The second element.
Definition: math_types.h:300
i32 elements[2]
An array of x, y.
Definition: math_types.h:282
i32 x
The first element.
Definition: math_types.h:286
A 3-element vector.
Definition: math_types.h:49
f32 elements[3]
An array of x, y, z.
Definition: math_types.h:51
f32 r
The first element.
Definition: math_types.h:57
f32 v
The second element.
Definition: math_types.h:71
f32 s
The first element.
Definition: math_types.h:59
f32 b
The third element.
Definition: math_types.h:77
f32 x
The first element.
Definition: math_types.h:55
f32 p
The third element.
Definition: math_types.h:79
f32 g
The second element.
Definition: math_types.h:67
f32 t
The second element.
Definition: math_types.h:69
f32 u
The first element.
Definition: math_types.h:61
f32 z
The third element.
Definition: math_types.h:75
f32 y
The second element.
Definition: math_types.h:65
f32 w
The third element.
Definition: math_types.h:81
A 3-element integer-based vector.
Definition: math_types.h:310
i32 r
The first element.
Definition: math_types.h:319
i32 g
The third element.
Definition: math_types.h:327
i32 elements[3]
An array of x, y, z.
Definition: math_types.h:312
i32 y
The second element.
Definition: math_types.h:325
i32 b
The third element.
Definition: math_types.h:335
i32 s
The first element.
Definition: math_types.h:321
i32 p
The third element.
Definition: math_types.h:337
i32 t
The third element.
Definition: math_types.h:329
i32 z
The third element.
Definition: math_types.h:333
i32 x
The first element.
Definition: math_types.h:317
A 4-element vector.
Definition: math_types.h:89
f32 q
The fourth element.
Definition: math_types.h:126
f32 elements[4]
An array of x, y, z, w.
Definition: math_types.h:91
f32 height
The fourth element.
Definition: math_types.h:128
f32 r
The first element.
Definition: math_types.h:98
f32 a
The fourth element.
Definition: math_types.h:124
f32 s
The first element.
Definition: math_types.h:100
f32 b
The third element.
Definition: math_types.h:114
f32 x
The first element.
Definition: math_types.h:96
f32 p
The third element.
Definition: math_types.h:116
f32 g
The third element.
Definition: math_types.h:106
f32 t
The third element.
Definition: math_types.h:108
f32 width
The third element.
Definition: math_types.h:118
f32 z
The third element.
Definition: math_types.h:112
f32 y
The second element.
Definition: math_types.h:104
f32 w
The fourth element.
Definition: math_types.h:122
A 4-element integer-based vector.
Definition: math_types.h:346
i32 w
The fourth element.
Definition: math_types.h:379
i32 r
The first element.
Definition: math_types.h:355
i32 g
The third element.
Definition: math_types.h:363
i32 elements[4]
An array of x, y, z, w.
Definition: math_types.h:348
i32 y
The second element.
Definition: math_types.h:361
i32 height
The fourth element.
Definition: math_types.h:385
i32 width
The third element.
Definition: math_types.h:375
i32 b
The third element.
Definition: math_types.h:371
i32 s
The first element.
Definition: math_types.h:357
i32 a
The fourth element.
Definition: math_types.h:381
i32 p
The third element.
Definition: math_types.h:373
i32 t
The third element.
Definition: math_types.h:365
i32 z
The third element.
Definition: math_types.h:369
i32 q
The fourth element.
Definition: math_types.h:383
i32 x
The first element.
Definition: math_types.h:353