Blender V4.3
BVHParams Class Reference

#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)
 

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
 

Detailed Description

Definition at line 58 of file params.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_DEPTH 
MAX_SPATIAL_DEPTH 
NUM_SPATIAL_BINS 

Definition at line 112 of file params.h.

Constructor & Destructor Documentation

◆ BVHParams()

Member Function Documentation

◆ best_bvh_layout()

BVHLayout BVHParams::best_bvh_layout ( BVHLayout requested_layout,
BVHLayoutMask supported_layouts )
static

Definition at line 57 of file bvh.cpp.

References __bsr(), and BVHLayout.

Referenced by Geometry::compute_bvh(), and GeometryManager::device_update_bvh().

◆ cost()

__forceinline float BVHParams::cost ( int num_nodes,
int num_primitives ) const
inline

Definition at line 149 of file params.h.

References node_cost(), and primitive_cost().

Referenced by BVHNode::computeSubtreeSAHCost().

◆ node_cost()

__forceinline float BVHParams::node_cost ( int n) const
inline

Definition at line 159 of file params.h.

References sah_node_cost.

Referenced by BVHMixedSplit::BVHMixedSplit(), and cost().

◆ primitive_cost()

__forceinline float BVHParams::primitive_cost ( int n) const
inline

◆ small_enough_for_leaf()

__forceinline bool BVHParams::small_enough_for_leaf ( int size,
int level )
inline

Definition at line 164 of file params.h.

References MAX_DEPTH, and size().

Referenced by BVHBuild::build_node(), and BVHBuild::build_node().

◆ use_motion_steps()

bool BVHParams::use_motion_steps ( )
inline

Definition at line 169 of file params.h.

References num_motion_curve_steps, num_motion_point_steps, and num_motion_triangle_steps.

Referenced by BVHBuild::run().

Member Data Documentation

◆ bvh_layout

◆ bvh_type

int BVHParams::bvh_type

Definition at line 106 of file params.h.

Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().

◆ curve_subdivisions

int BVHParams::curve_subdivisions

Definition at line 109 of file params.h.

Referenced by BVHParams(), Geometry::compute_bvh(), and GeometryManager::device_update_bvh().

◆ max_curve_leaf_size

int BVHParams::max_curve_leaf_size

Definition at line 75 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ max_motion_curve_leaf_size

int BVHParams::max_motion_curve_leaf_size

Definition at line 76 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ max_motion_point_leaf_size

int BVHParams::max_motion_point_leaf_size

Definition at line 78 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ max_motion_triangle_leaf_size

int BVHParams::max_motion_triangle_leaf_size

Definition at line 74 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ max_point_leaf_size

int BVHParams::max_point_leaf_size

Definition at line 77 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ max_triangle_leaf_size

int BVHParams::max_triangle_leaf_size

Definition at line 73 of file params.h.

Referenced by BVHParams(), and BVHBuild::range_within_max_leaf_size().

◆ min_leaf_size

int BVHParams::min_leaf_size

Definition at line 72 of file params.h.

Referenced by BVHParams().

◆ num_motion_curve_steps

◆ num_motion_point_steps

◆ num_motion_triangle_steps

◆ sah_node_cost

float BVHParams::sah_node_cost

Definition at line 68 of file params.h.

Referenced by BVHBuild::build_node(), BVHBuild::build_node(), BVHParams(), and node_cost().

◆ sah_primitive_cost

float BVHParams::sah_primitive_cost

Definition at line 69 of file params.h.

Referenced by BVHBuild::build_node(), BVHBuild::build_node(), BVHParams(), and primitive_cost().

◆ spatial_split_alpha

float BVHParams::spatial_split_alpha

Definition at line 62 of file params.h.

Referenced by BVHParams(), and BVHBuild::run().

◆ top_level

◆ unaligned_split_threshold

float BVHParams::unaligned_split_threshold

Definition at line 65 of file params.h.

Referenced by BVHBuild::build_node(), BVHBuild::build_node(), and BVHParams().

◆ use_compact_structure

bool BVHParams::use_compact_structure

Definition at line 92 of file params.h.

Referenced by BVHParams(), and Geometry::compute_bvh().

◆ use_spatial_split

◆ use_unaligned_nodes


The documentation for this class was generated from the following files: