|
Blender V5.0
|
#include <params.h>
Public Types | |
| enum | { MAX_DEPTH = 64 , MAX_SPATIAL_DEPTH = 48 , NUM_SPATIAL_BINS = 32 } |
Public Member Functions | |
| BVHParams () | |
| __forceinline float | cost (const int num_nodes, const int num_primitives) const |
| __forceinline float | primitive_cost (const int n) const |
| __forceinline float | node_cost (const int n) const |
| __forceinline bool | small_enough_for_leaf (const int size, const int level) |
| bool | use_motion_steps () |
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 |
| int | max_point_leaf_size |
| int | max_motion_point_leaf_size |
| bool | top_level |
| BVHLayout | bvh_layout |
| bool | use_unaligned_nodes |
| bool | use_compact_structure |
| int | num_motion_triangle_steps |
| int | num_motion_curve_steps |
| int | num_motion_point_steps |
| int | bvh_type |
| int | curve_subdivisions |
| anonymous enum |
|
inline |
Definition at line 113 of file params.h.
References bvh_layout, BVH_LAYOUT_BVH2, bvh_type, curve_subdivisions, max_curve_leaf_size, max_motion_curve_leaf_size, max_motion_point_leaf_size, max_motion_triangle_leaf_size, max_point_leaf_size, max_triangle_leaf_size, min_leaf_size, num_motion_curve_steps, num_motion_point_steps, num_motion_triangle_steps, sah_node_cost, sah_primitive_cost, spatial_split_alpha, top_level, unaligned_split_threshold, use_compact_structure, use_spatial_split, and use_unaligned_nodes.
|
static |
Definition at line 65 of file bvh.cpp.
References __bsr().
Referenced by Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
|
inline |
Definition at line 148 of file params.h.
References __forceinline, node_cost(), and primitive_cost().
Referenced by BVHNode::computeSubtreeSAHCost().
|
inline |
Definition at line 158 of file params.h.
References __forceinline, and sah_node_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), and cost().
|
inline |
Definition at line 153 of file params.h.
References __forceinline, and sah_primitive_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), cost(), and BVHSpatialSplit::split().
|
inline |
Definition at line 163 of file params.h.
References __forceinline, MAX_DEPTH, and size().
|
inline |
Definition at line 168 of file params.h.
References num_motion_curve_steps, num_motion_point_steps, and num_motion_triangle_steps.
| BVHLayout BVHParams::bvh_layout |
Definition at line 83 of file params.h.
Referenced by CPUDevice::build_bvh(), Device::build_bvh(), MultiDevice::build_bvh(), BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
| int BVHParams::bvh_type |
Definition at line 105 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
| int BVHParams::curve_subdivisions |
Definition at line 108 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
| int BVHParams::max_curve_leaf_size |
Definition at line 74 of file params.h.
Referenced by BVHParams().
| int BVHParams::max_motion_curve_leaf_size |
Definition at line 75 of file params.h.
Referenced by BVHParams().
| int BVHParams::max_motion_point_leaf_size |
Definition at line 77 of file params.h.
Referenced by BVHParams().
| int BVHParams::max_motion_triangle_leaf_size |
Definition at line 73 of file params.h.
Referenced by BVHParams().
| int BVHParams::max_point_leaf_size |
Definition at line 76 of file params.h.
Referenced by BVHParams().
| int BVHParams::max_triangle_leaf_size |
Definition at line 72 of file params.h.
Referenced by BVHParams().
| int BVHParams::min_leaf_size |
Definition at line 71 of file params.h.
Referenced by BVHParams().
| int BVHParams::num_motion_curve_steps |
Definition at line 101 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), and use_motion_steps().
| int BVHParams::num_motion_point_steps |
Definition at line 102 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), and use_motion_steps().
| int BVHParams::num_motion_triangle_steps |
Definition at line 100 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), and use_motion_steps().
| float BVHParams::sah_node_cost |
Definition at line 67 of file params.h.
Referenced by BVHParams(), and node_cost().
| float BVHParams::sah_primitive_cost |
Definition at line 68 of file params.h.
Referenced by BVHParams(), and primitive_cost().
| float BVHParams::spatial_split_alpha |
Definition at line 61 of file params.h.
Referenced by BVHParams().
| bool BVHParams::top_level |
Definition at line 80 of file params.h.
Referenced by CPUDevice::build_bvh(), BVHParams(), and GeometryManager::device_update_bvh().
| float BVHParams::unaligned_split_threshold |
Definition at line 64 of file params.h.
Referenced by BVHParams().
| bool BVHParams::use_compact_structure |
Definition at line 91 of file params.h.
Referenced by BVHParams(), and Geometry::compute_bvh().
| bool BVHParams::use_spatial_split |
Definition at line 60 of file params.h.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), and BVHMixedSplit::split().
| bool BVHParams::use_unaligned_nodes |
Definition at line 88 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().