|
Blender
V2.93
|
#include <bvh_params.h>
Public Types | |
| enum | { MAX_DEPTH = 64 , MAX_SPATIAL_DEPTH = 48 , NUM_SPATIAL_BINS = 32 } |
Public Member Functions | |
| BVHParams () | |
| __forceinline float | cost (int num_nodes, int num_primitives) const |
| __forceinline float | primitive_cost (int n) const |
| __forceinline float | node_cost (int n) const |
| __forceinline bool | small_enough_for_leaf (int size, int level) |
Static Public Member Functions | |
| static BVHLayout | best_bvh_layout (BVHLayout requested_layout, BVHLayoutMask supported_layouts) |
Public Attributes | |
| bool | use_spatial_split |
| float | spatial_split_alpha |
| float | unaligned_split_threshold |
| float | sah_node_cost |
| float | sah_primitive_cost |
| int | min_leaf_size |
| int | max_triangle_leaf_size |
| int | max_motion_triangle_leaf_size |
| int | max_curve_leaf_size |
| int | max_motion_curve_leaf_size |
| bool | top_level |
| BVHLayout | bvh_layout |
| bool | use_unaligned_nodes |
| int | num_motion_curve_steps |
| int | num_motion_triangle_steps |
| int | bvh_type |
| int | curve_subdivisions |
Definition at line 46 of file bvh_params.h.
| anonymous enum |
| Enumerator | |
|---|---|
| MAX_DEPTH | |
| MAX_SPATIAL_DEPTH | |
| NUM_SPATIAL_BINS | |
Definition at line 95 of file bvh_params.h.
|
inline |
Definition at line 97 of file bvh_params.h.
References bvh_layout, BVH_LAYOUT_BVH2, bvh_type, curve_subdivisions, max_curve_leaf_size, max_motion_curve_leaf_size, max_motion_triangle_leaf_size, max_triangle_leaf_size, min_leaf_size, num_motion_curve_steps, num_motion_triangle_steps, sah_node_cost, sah_primitive_cost, spatial_split_alpha, top_level, unaligned_split_threshold, use_spatial_split, and use_unaligned_nodes.
|
static |
Definition at line 53 of file bvh.cpp.
References __bsr(), and BVHLayout.
Referenced by Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
|
inline |
Definition at line 128 of file bvh_params.h.
References node_cost(), and primitive_cost().
Referenced by BVHNode::computeSubtreeSAHCost().
|
inline |
Definition at line 138 of file bvh_params.h.
References sah_node_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), and cost().
|
inline |
Definition at line 133 of file bvh_params.h.
References sah_primitive_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), cost(), and BVHSpatialSplit::split().
|
inline |
Definition at line 143 of file bvh_params.h.
References MAX_DEPTH.
Referenced by BVHBuild::build_node().
| BVHLayout BVHParams::bvh_layout |
Definition at line 70 of file bvh_params.h.
Referenced by Device::build_bvh(), CPUDevice::build_bvh(), MultiDevice::build_bvh(), BVHParams(), Geometry::compute_bvh(), BVH::create(), GeometryManager::device_update_bvh(), and BVH2::pack_instances().
| int BVHParams::bvh_type |
Definition at line 89 of file bvh_params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
| int BVHParams::curve_subdivisions |
Definition at line 92 of file bvh_params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
| int BVHParams::max_curve_leaf_size |
Definition at line 63 of file bvh_params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
| int BVHParams::max_motion_curve_leaf_size |
Definition at line 64 of file bvh_params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
| int BVHParams::max_motion_triangle_leaf_size |
Definition at line 62 of file bvh_params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
| int BVHParams::max_triangle_leaf_size |
Definition at line 61 of file bvh_params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
| int BVHParams::min_leaf_size |
Definition at line 60 of file bvh_params.h.
Referenced by BVHParams().
| int BVHParams::num_motion_curve_steps |
Definition at line 83 of file bvh_params.h.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_triangles(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), BVH2::pack_instances(), and BVHBuild::run().
| int BVHParams::num_motion_triangle_steps |
Definition at line 86 of file bvh_params.h.
Referenced by BVHBuild::add_reference_triangles(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), BVH2::pack_instances(), and BVHBuild::run().
| float BVHParams::sah_node_cost |
Definition at line 56 of file bvh_params.h.
Referenced by BVHBuild::build_node(), BVHParams(), and node_cost().
| float BVHParams::sah_primitive_cost |
Definition at line 57 of file bvh_params.h.
Referenced by BVHBuild::build_node(), BVHParams(), and primitive_cost().
| float BVHParams::spatial_split_alpha |
Definition at line 50 of file bvh_params.h.
Referenced by BVHParams(), and BVHBuild::run().
| bool BVHParams::top_level |
Definition at line 67 of file bvh_params.h.
Referenced by BVHBuild::add_references(), CPUDevice::build_bvh(), BVHBuild::build_node(), BVHParams(), GeometryManager::device_update_bvh(), BVH2::pack_nodes(), BVH2::refit_nodes(), BVH2::refit_primitives(), and BVHBuild::run().
| float BVHParams::unaligned_split_threshold |
Definition at line 53 of file bvh_params.h.
Referenced by BVHBuild::build_node(), and BVHParams().
| bool BVHParams::use_spatial_split |
Definition at line 49 of file bvh_params.h.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_triangles(), BVHMixedSplit::BVHMixedSplit(), BVHParams(), Geometry::compute_bvh(), BVHBuild::create_leaf_node(), GeometryManager::device_update_bvh(), BVHBuild::run(), and BVHMixedSplit::split().
| bool BVHParams::use_unaligned_nodes |
Definition at line 75 of file bvh_params.h.
Referenced by BVHBuild::build_node(), BVHParams(), Geometry::compute_bvh(), BVHBuild::create_leaf_node(), GeometryManager::device_update_bvh(), and BVH2::pack_nodes().