Three Mesh Bvh Versions Save

A BVH implementation to speed up raycasting and enable spatial queries against three.js meshes.

v0.7.4

1 month ago

Changed

  • Improved raycasting performancy by ~20% by avoiding use of the "arrayToBox" function internally.

Fixed

  • ParallelMeshBVHWorker now generates a geometry index if it's required.
  • Add support for the "indirect" option to both workers.
  • Worker generators not guaranteeing that 100% progress would be fired to the onProgress callback.

v0.7.3

2 months ago

Fixed

  • StaticGeometryGenerator, VertexAttributeTexture now support empty geometry.

v0.7.2

2 months ago

Fixed

  • MeshBVHHelper not updating correctly

Added

  • StaticGeometryGenerator now inverts geometry winding order when a mesh uses negative scales.

v0.7.1

3 months ago

Fixed

  • Minor case where outside bounds did not have floating point epsilon accounted for which could have resulted in missed intersections at the very edge of the bounds.
  • The MeshBVHHelper( mesh, depth ) constructor not working as expected.
  • The validateBounds function not accounting for the use of the "indirect" option.

Added

  • Added new "ParallelMeshBVHWorker" that parallelizes MeshBVH generation across multiple WebWorkers. Falls back to a single threaded approach if SharedArrayBuffer is not supported.

v0.7.0

3 months ago

Changed

  • MeshBVHVisualizer has been deprecated and renamed MeshBVHHelper to align with three.js' conventions.
  • MeshBVHHelper constructor now optionally takes a bvh.
  • Organization of shader GLSL snippets. They are now grouped into the BVHSShaderGLSL object. Backwards compatible glsl snippets are provided for now but it's recommended to use the new location.

Fixed

  • MeshBVHHelper will now display correctly regardless of parent in hierarchy.
  • MeshBVHHelper.copy now correctly copies opacity, color.

v0.6.8

7 months ago

Changed

  • Small performance improvements to bvhcast function (up to ~10%).

v0.6.7

8 months ago

Fixed

  • GPU function parameters to fix undefined behavior on some platforms.

v0.6.6

8 months ago

Fixed

  • Case where indirect buffer with no index failed to raycast.

v0.6.5

8 months ago

Added

  • Added support for draw range so the BVH now implicitly respects the start and end range specified in the geometry.

v0.6.4

8 months ago

Added

  • An experimental "indirect" option to support an indirect triangle sorting for the BVH structure so the geometry index is not adjusted or implicitly generated.

Fixed

  • Fixed estimateMemoryInBytes not testing for SharedArrayBuffers resulting in a smaller memory footprint.
  • Fixed bug in "intersectsGeometry" function.

Removed

  • Removed long deprecated shapecast code path using old function signature.
  • Removed long deprecated serialization code path using old function signature.
  • Removed long deprecated "terminate" function from web worker class.