Blender
V3.3
|
#include <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) |
bool | use_motion_steps () |
Static Public Member Functions | |
static BVHLayout | best_bvh_layout (BVHLayout requested_layout, BVHLayoutMask supported_layouts) |
anonymous enum |
|
inline |
Definition at line 110 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 45 of file bvh.cpp.
References __bsr(), and BVHLayout.
Referenced by Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
|
inline |
Definition at line 145 of file params.h.
References node_cost(), and primitive_cost().
Referenced by BVHNode::computeSubtreeSAHCost().
|
inline |
Definition at line 155 of file params.h.
References sah_node_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), and cost().
|
inline |
Definition at line 150 of file params.h.
References sah_primitive_cost.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), cost(), and BVHSpatialSplit::split().
|
inline |
Definition at line 160 of file params.h.
References MAX_DEPTH.
Referenced by BVHBuild::build_node().
|
inline |
Definition at line 165 of file params.h.
References num_motion_curve_steps, num_motion_point_steps, and num_motion_triangle_steps.
Referenced by BVHBuild::run().
BVHLayout BVHParams::bvh_layout |
Definition at line 80 of file 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 102 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
int BVHParams::curve_subdivisions |
Definition at line 105 of file params.h.
Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().
int BVHParams::max_curve_leaf_size |
Definition at line 71 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::max_motion_curve_leaf_size |
Definition at line 72 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::max_motion_point_leaf_size |
Definition at line 74 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::max_motion_triangle_leaf_size |
Definition at line 70 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::max_point_leaf_size |
Definition at line 73 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::max_triangle_leaf_size |
Definition at line 69 of file params.h.
Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().
int BVHParams::min_leaf_size |
Definition at line 68 of file params.h.
Referenced by BVHParams().
int BVHParams::num_motion_curve_steps |
Definition at line 98 of file params.h.
Referenced by BVHBuild::add_reference_curves(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), BVH2::pack_instances(), and use_motion_steps().
int BVHParams::num_motion_point_steps |
Definition at line 99 of file params.h.
Referenced by BVHBuild::add_reference_points(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), BVH2::pack_instances(), and use_motion_steps().
int BVHParams::num_motion_triangle_steps |
Definition at line 97 of file params.h.
Referenced by BVHBuild::add_reference_triangles(), BVHParams(), Geometry::compute_bvh(), GeometryManager::device_update_bvh(), BVH2::pack_instances(), and use_motion_steps().
float BVHParams::sah_node_cost |
Definition at line 64 of file params.h.
Referenced by BVHBuild::build_node(), BVHParams(), and node_cost().
float BVHParams::sah_primitive_cost |
Definition at line 65 of file params.h.
Referenced by BVHBuild::build_node(), BVHParams(), and primitive_cost().
float BVHParams::spatial_split_alpha |
Definition at line 58 of file params.h.
Referenced by BVHParams(), and BVHBuild::run().
bool BVHParams::top_level |
Definition at line 77 of file 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 61 of file params.h.
Referenced by BVHBuild::build_node(), and BVHParams().
bool BVHParams::use_compact_structure |
Definition at line 88 of file params.h.
Referenced by BVHParams(), and Geometry::compute_bvh().
bool BVHParams::use_spatial_split |
Definition at line 57 of file params.h.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_points(), 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 85 of file params.h.
Referenced by BVHBuild::build_node(), BVHParams(), Geometry::compute_bvh(), BVHBuild::create_leaf_node(), GeometryManager::device_update_bvh(), and BVH2::pack_nodes().