ebvh_optimize_treelet
Functions
- assemble_mask(bvh, leaves, mask)
- rebuild_treelet(bvh, root, leaves, mask)
- optimize_treelet(bvh, root, leaves, leaf_count)
- optimize_at_node(bvh, root, treelet_max_size)
- 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
assemble_mask(bvh, leaves, mask)
Kind: global function
| Param | Type |
|---|---|
| bvh | BVH |
| leaves | Array.<number> |
| mask | number |
rebuild_treelet(bvh, root, leaves, mask)
Kind: global function
| Param | Type |
|---|---|
| bvh | BVH |
| root | number |
| leaves | Array.<number> |
| mask | number |
optimize_treelet(bvh, root, leaves, leaf_count)
Kind: global function
| Param | Type |
|---|---|
| bvh | BVH |
| root | number |
| leaves | Array.<number> | Uint32Array |
| leaf_count | number |
optimize_at_node(bvh, root, treelet_max_size)
Kind: global function
| Param | Type |
|---|---|
| bvh | BVH |
| root | number |
| treelet_max_size | number |
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
| Param | Type | Description |
|---|---|---|
| bvh | BVH | |
| [root] | number | where to start optimization, only nodes below this one will be considered |
| [treelet_size] | number | the larger the size - the more optimization opportunities, but it gets exponentially slower |