Blender V5.0
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 (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

Detailed Description

Definition at line 57 of file params.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_DEPTH 
MAX_SPATIAL_DEPTH 
NUM_SPATIAL_BINS 

Definition at line 111 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 65 of file bvh.cpp.

References __bsr().

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

◆ cost()

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

Definition at line 148 of file params.h.

References __forceinline, node_cost(), and primitive_cost().

Referenced by BVHNode::computeSubtreeSAHCost().

◆ node_cost()

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

Definition at line 158 of file params.h.

References __forceinline, and sah_node_cost.

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

◆ primitive_cost()

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

◆ small_enough_for_leaf()

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

Definition at line 163 of file params.h.

References __forceinline, MAX_DEPTH, and size().

◆ use_motion_steps()

bool BVHParams::use_motion_steps ( )
inline

Member Data Documentation

◆ bvh_layout

◆ bvh_type

int BVHParams::bvh_type

Definition at line 105 of file params.h.

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

◆ curve_subdivisions

int BVHParams::curve_subdivisions

Definition at line 108 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 74 of file params.h.

Referenced by BVHParams().

◆ max_motion_curve_leaf_size

int BVHParams::max_motion_curve_leaf_size

Definition at line 75 of file params.h.

Referenced by BVHParams().

◆ max_motion_point_leaf_size

int BVHParams::max_motion_point_leaf_size

Definition at line 77 of file params.h.

Referenced by BVHParams().

◆ max_motion_triangle_leaf_size

int BVHParams::max_motion_triangle_leaf_size

Definition at line 73 of file params.h.

Referenced by BVHParams().

◆ max_point_leaf_size

int BVHParams::max_point_leaf_size

Definition at line 76 of file params.h.

Referenced by BVHParams().

◆ max_triangle_leaf_size

int BVHParams::max_triangle_leaf_size

Definition at line 72 of file params.h.

Referenced by BVHParams().

◆ min_leaf_size

int BVHParams::min_leaf_size

Definition at line 71 of file params.h.

Referenced by BVHParams().

◆ num_motion_curve_steps

int BVHParams::num_motion_curve_steps

◆ num_motion_point_steps

int BVHParams::num_motion_point_steps

◆ num_motion_triangle_steps

int BVHParams::num_motion_triangle_steps

◆ sah_node_cost

float BVHParams::sah_node_cost

Definition at line 67 of file params.h.

Referenced by BVHParams(), and node_cost().

◆ sah_primitive_cost

float BVHParams::sah_primitive_cost

Definition at line 68 of file params.h.

Referenced by BVHParams(), and primitive_cost().

◆ spatial_split_alpha

float BVHParams::spatial_split_alpha

Definition at line 61 of file params.h.

Referenced by BVHParams().

◆ top_level

bool BVHParams::top_level

Definition at line 80 of file params.h.

Referenced by CPUDevice::build_bvh(), BVHParams(), and GeometryManager::device_update_bvh().

◆ unaligned_split_threshold

float BVHParams::unaligned_split_threshold

Definition at line 64 of file params.h.

Referenced by BVHParams().

◆ use_compact_structure

bool BVHParams::use_compact_structure

Definition at line 91 of file params.h.

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

◆ use_spatial_split

bool BVHParams::use_spatial_split

◆ use_unaligned_nodes

bool BVHParams::use_unaligned_nodes

Definition at line 88 of file params.h.

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


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