Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config Struct Reference

template<typename Node, typename MortonCode = uint32_t>
struct bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config

Definition at line 30 of file mini_tree_builder.h.

Public Attributes

bool enable_pruning = true
 Flag that turns on/off mini-tree pruning.
size_t log2_grid_dim = 4
 Log of the dimension of the grid used to split the workload horizontally.
size_t max_leaf_size = 8
 Nodes that cannot be split based on the SAH and have a number of primitives larger than this will be split using a fallback strategy.
size_t min_leaf_size = 1
 Nodes containing less than this amount of primitives will not be split.
size_t parallel_threshold = 1024
 Minimum number of primitives per parallel task.
Scalar pruning_area_ratio = static_cast<Scalar>(0.01)
 Threshold on the area of a mini-tree node above which it is pruned, expressed in fraction of the area of bounding box around the entire set of primitives.
SplitHeuristic< Scalarsah
 SAH heuristic parameters that control how primitives are partitioned.

#include <bvh/v2/mini_tree_builder.h>

Inheritance diagram for bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config:
bvh::v2::TopDownSahBuilder< Node >::Config

Member Data Documentation

◆ enable_pruning

template<typename Node, typename MortonCode = uint32_t>
bool bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config::enable_pruning = true

Flag that turns on/off mini-tree pruning.

Definition at line 32 of file mini_tree_builder.h.

◆ log2_grid_dim

template<typename Node, typename MortonCode = uint32_t>
size_t bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config::log2_grid_dim = 4

Log of the dimension of the grid used to split the workload horizontally.

Definition at line 42 of file mini_tree_builder.h.

◆ max_leaf_size

template<typename Node>
size_t bvh::v2::TopDownSahBuilder< Node >::Config::max_leaf_size = 8
inherited

Nodes that cannot be split based on the SAH and have a number of primitives larger than this will be split using a fallback strategy.

This should not happen often, but may happen in worst-case scenarios or poorly designed scenes.

Definition at line 43 of file top_down_sah_builder.h.

◆ min_leaf_size

template<typename Node>
size_t bvh::v2::TopDownSahBuilder< Node >::Config::min_leaf_size = 1
inherited

Nodes containing less than this amount of primitives will not be split.

This is mostly to speed up BVH construction, and using large values may lead to lower quality BVHs.

Definition at line 38 of file top_down_sah_builder.h.

◆ parallel_threshold

template<typename Node, typename MortonCode = uint32_t>
size_t bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config::parallel_threshold = 1024

Minimum number of primitives per parallel task.

Definition at line 39 of file mini_tree_builder.h.

◆ pruning_area_ratio

template<typename Node, typename MortonCode = uint32_t>
Scalar bvh::v2::MiniTreeBuilder< Node, MortonCode >::Config::pruning_area_ratio = static_cast<Scalar>(0.01)

Threshold on the area of a mini-tree node above which it is pruned, expressed in fraction of the area of bounding box around the entire set of primitives.

Definition at line 36 of file mini_tree_builder.h.

◆ sah

template<typename Node>
SplitHeuristic<Scalar> bvh::v2::TopDownSahBuilder< Node >::Config::sah
inherited

SAH heuristic parameters that control how primitives are partitioned.

Definition at line 33 of file top_down_sah_builder.h.


The documentation for this struct was generated from the following file: