9 #define BVH_INVALID_NODE INVALID_ID_U32
KAPI void bvh_debug_trace_to_leaf(const bvh *t, bvh_userdata target_user, const ray *r)
KAPI void bvh_remove(bvh *t, bvh_id id)
u32(* bvh_query_callback)(bvh_userdata user, bvh_id id, void *usr)
Definition: bvh.h:44
u32 bvh_id
Definition: bvh.h:6
KAPI raycast_result bvh_raycast(const bvh *t, const ray *r, bvh_raycast_callback callback, void *usr)
KAPI bvh_id bvh_insert(bvh *t, aabb tight_aabb, bvh_userdata user)
KAPI void bvh_destroy(bvh *t)
KAPI u32 bvh_query_overlaps(const bvh *t, aabb query, bvh_query_callback callback, void *context)
KAPI b8 bvh_reserve(bvh *t, u32 leaf_capacity)
KAPI void bvh_debug_print(const bvh *t)
b8(* bvh_raycast_callback)(bvh_userdata user, bvh_id id, const ray *r, f32 min, f32 max, f32 dist, vec3 pos, void *usr, raycast_hit *out_result)
Definition: bvh.h:48
KAPI void bvh_update(bvh *t, bvh_id id, aabb new_tight_aabb)
u64 bvh_userdata
Definition: bvh.h:7
KAPI b8 bvh_create(u32 inital_capacity, void *owner_context, bvh *out_bvh)
KAPI void bvh_rebalance(bvh *t, u32 iterations)
This file contains global type definitions which are used throughout the entire engine and applicatio...
#define KAPI
Import/export qualifier.
Definition: defines.h:209
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:27
_Bool b8
8-bit boolean type
Definition: defines.h:60
float f32
32-bit floating point number
Definition: defines.h:49
signed int i32
Signed 32-bit integer.
Definition: defines.h:41
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:30
Contains various math types required for the engine.
u32 next
Definition: bvh.h:18
i32 height
Definition: bvh.h:17
u32 left
Definition: bvh.h:15
bvh_userdata user
Definition: bvh.h:13
u32 right
Definition: bvh.h:16
aabb aabb
Definition: bvh.h:12
u32 parent
Definition: bvh.h:14
b8 moved
Definition: bvh.h:19
u32 capacity
Definition: bvh.h:25
u32 count
Definition: bvh.h:26
u32 root
Definition: bvh.h:23
void * owner_context
Definition: bvh.h:28
bvh_node * nodes
Definition: bvh.h:24
u32 free_list
Definition: bvh.h:27
Represents the extents of a 3d object.
Definition: math_types.h:401
Represents a line which starts at an origin and proceed infinitely in the given direction....
Definition: math_types.h:638
Definition: math_types.h:652
Definition: math_types.h:660
A 3-element vector.
Definition: math_types.h:117