extendsBVH
Abstract base class for geometry-backed BVH implementations. Handles geometry
indexing, indirect mode, and bounding box initialization. Subclasses implement
primitive-specific bounds computation and raycasting via writePrimitiveBounds
and raycastObject3D.
Properties
Whether the BVH was built in indirect mode.
The geometry this BVH was built from.
Methods
new GeometryBVH(
geometry: BufferGeometry,
options?: {
// Split strategy: `CENTER`, `AVERAGE`, or `SAH`.
strategy: number = CENTER,
// Maximum tree depth. Note that this can cause the target leaf size to not be met if the tree is truncated.
maxDepth: number = 40,
// The target number of primitives per leaf node. Note that this is a soft limit and generation strategies like SAH will terminate early if the heuristic determines.
targetLeafSize: number = 10,
// Set `geometry.boundingBox` if not already present.
setBoundingBox: boolean = true,
// Use `SharedArrayBuffer` for BVH root buffers.
useSharedArrayBuffer: boolean = false,
// Build using an indirect buffer, leaving the original index unmodified.
indirect: boolean = false,
// Log build progress to the console.
verbose: boolean = true,
// Called with a progress value in [0, 1] during build.
onProgress: function | null = null,
// Restrict the BVH to a specific geometry group range.
range: Object | null = null
}
)