v3_sub( pos, (v3f){ radius, radius, radius }, volume_proximity[0] );
bh_iter it;
- bh_iter_init( 0, &it );
- int idx;
+ bh_iter_init_box( 0, &it, volume_proximity );
+ i32 idx;
int in_volume = 0;
- while( bh_next( world->volume_bh, &it, volume_proximity, &idx ) ){
+ while( bh_next( world->volume_bh, &it, &idx ) ){
ent_volume *volume = mdl_arritm( &world->ent_volume, idx );
boxf cube = {{-1.0f,-1.0f,-1.0f},{1.0f,1.0f,1.0f}};
VG_STATIC int spherecast_world( world_instance *world,
v3f pa, v3f pb, float r, float *t, v3f n )
{
- bh_iter it;
- bh_iter_init( 0, &it );
-
boxf region;
box_init_inf( region );
box_addpt( region, pa );
int hit = -1;
float min_t = 1.0f;
- int idx;
- while( bh_next( world->geo_bh, &it, region, &idx ) ){
+ bh_iter it;
+ bh_iter_init_box( 0, &it, region );
+ i32 idx;
+ while( bh_next( world->geo_bh, &it, &idx ) ){
u32 *ptri = &world->scene_geo.arrindices[ idx*3 ];
v3f tri[3];