#define KAPI
Import/export qualifier.
Definition: defines.h:177
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
_Bool b8
8-bit boolean type
Definition: defines.h:58
float f32
32-bit floating point number
Definition: defines.h:47
KAPI ray ray_create(vec3 position, vec3 direction)
struct ray ray
Represents a line which starts at an origin and proceed infinitely in the given direction....
struct raycast_hit raycast_hit
KAPI b8 raycast_plane_3d(const ray *r, const plane_3d *p, vec3 *out_point, f32 *out_distance)
KAPI b8 raycast_disc_3d(const ray *r, vec3 center, vec3 normal, f32 outer_radius, f32 inner_radius, vec3 *out_point, f32 *out_distance)
raycast_hit_type
Definition: geometry_3d.h:13
@ RAYCAST_HIT_TYPE_SURFACE
Definition: geometry_3d.h:15
@ RAYCAST_HIT_TYPE_OBB
Definition: geometry_3d.h:14
struct raycast_result raycast_result
KAPI b8 raycast_oriented_extents(extents_3d bb_extents, mat4 model, const ray *r, f32 *out_dist)
KAPI ray ray_from_screen(vec2 screen_pos, rect_2d viewport_rect, vec3 origin, mat4 view, mat4 projection)
KAPI b8 raycast_aabb(extents_3d bb_extents, const ray *r, vec3 *out_point)
Contains various math types required for the engine.
Represents the extents of a 3d object.
Definition: math_types.h:165
Definition: math_types.h:239
Represents a line which starts at an origin and proceed infinitely in the given direction....
Definition: geometry_3d.h:8
vec3 origin
Definition: geometry_3d.h:9
vec3 direction
Definition: geometry_3d.h:10
Definition: geometry_3d.h:18
vec3 position
Definition: geometry_3d.h:21
u32 unique_id
Definition: geometry_3d.h:20
f32 distance
Definition: geometry_3d.h:22
raycast_hit_type type
Definition: geometry_3d.h:19
Definition: geometry_3d.h:25
raycast_hit * hits
Definition: geometry_3d.h:27
a 4x4 matrix, typically used to represent object transformations.
Definition: math_types.h:147
A 2-element vector.
Definition: math_types.h:19
A 3-element vector.
Definition: math_types.h:49
A 4-element vector.
Definition: math_types.h:89