Skip to content

Dynamic BVH implementation based on Erin Catto's paper and three-mesh-bvh (WIP)

License

Notifications You must be signed in to change notification settings

agargaro/BVH.js

Repository files navigation

BVH.js

npm Quality Gate Status DeepScan grade Stars BundlePhobia

Work in progress... will be released soon :)

Live example: https://stackblitz.com/edit/three-ezinstancedmesh2-dynamic-bvh?file=index.ts

Create a BVH from a AABB array. You can set whetever value to each node.

Build method: top-down or insertion one by one.

Implemented API:

createFromArray
insert
insertRange
move
delete
clear

traverse
rayIntersections
frustumCulling
frustumCullingLOD
closestPointToPoint
intersectsBox
intersectsSphere
intersectsRay
isNodeIntersected

TODO:

traverseByScore
intersectsRayFirst
intersectsBVH
closestPointToBVH
getAllCollision
getNearestObject

experiment rotation with N leaves and max depth

References