X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=bvh.h;h=8b6b0784785973f1adf89ddbbb01636d656f1d64;hb=aa4c26eae2208872824e0eb5b71bc05c16d43242;hp=e79e3ddc6866ab7d012bfd30952d0fc8eebc3230;hpb=2a238d32da833812e837cf38e16a7685c98db5c3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/bvh.h b/bvh.h index e79e3dd..8b6b078 100644 --- a/bvh.h +++ b/bvh.h @@ -232,11 +232,16 @@ VG_STATIC int bh_ray( bh_tree *bh, v3f co, v3f dir, ray_hit *hit ) stack[0] = 0; stack[1] = bh->nodes[0].il; stack[2] = bh->nodes[0].ir; + + v3f dir_inv; + dir_inv[0] = 1.0f/dir[0]; + dir_inv[1] = 1.0f/dir[1]; + dir_inv[2] = 1.0f/dir[2]; while(depth) { bh_node *inode = &bh->nodes[ stack[depth] ]; - if( ray_aabb( inode->bbx, co, dir, hit->dist ) ) + if( ray_aabb1( inode->bbx, co, dir_inv, hit->dist ) ) { if( inode->count ) {