three-mesh-bvh
Version:
A BVH implementation to speed up raycasting against three.js meshes.
32 lines (18 loc) • 719 B
JavaScript
import { intersectTri } from './ThreeIntersectionUtilities.js';
export function intersectTris( mesh, geo, raycaster, ray, offset, count, intersections ) {
for ( let i = offset, end = offset + count; i < end; i ++ ) {
intersectTri( mesh, geo, raycaster, ray, i, intersections );
}
};
export function intersectClosestTri( mesh, geo, raycaster, ray, offset, count ) {
let dist = Infinity;
let res = null;
for ( let i = offset, end = offset + count; i < end; i ++ ) {
const intersection = intersectTri( mesh, geo, raycaster, ray, i );
if ( intersection && intersection.distance < dist ) {
res = intersection;
dist = intersection.distance;
}
}
return res;
};