Skip to main content

ebvh_optimize_treelet

Functions

Perform linear optimization across the tree, similar to rotations, but we support somewhat arbitrary depth and all possible permutations Note that the root does not move, but everything below the root is subject to change

assemble_mask(bvh, leaves, mask)

Kind: global function

ParamType
bvhBVH
leavesArray.<number>
masknumber

rebuild_treelet(bvh, root, leaves, mask)

Kind: global function

ParamType
bvhBVH
rootnumber
leavesArray.<number>
masknumber

optimize_treelet(bvh, root, leaves, leaf_count)

Kind: global function

ParamType
bvhBVH
rootnumber
leavesArray.<number> | Uint32Array
leaf_countnumber

optimize_at_node(bvh, root, treelet_max_size)

Kind: global function

ParamType
bvhBVH
rootnumber
treelet_max_sizenumber

ebvh_optimize_treelet(bvh, [root], [treelet_size])

Perform linear optimization across the tree, similar to rotations, but we support somewhat arbitrary depth and all possible permutations Note that the root does not move, but everything below the root is subject to change

Kind: global function
See: "Fast Parallel Construction of High-Quality Bounding Volume Hierarchies" by Kerras, NVIDIA 2013

ParamTypeDescription
bvhBVH
[root]numberwhere to start optimization, only nodes below this one will be considered
[treelet_size]numberthe larger the size - the more optimization opportunities, but it gets exponentially slower