Blender  V3.3
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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 54 of file params.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_DEPTH 
MAX_SPATIAL_DEPTH 
NUM_SPATIAL_BINS 

Definition at line 108 of file params.h.

Constructor & Destructor Documentation

◆ BVHParams()

BVHParams::BVHParams ( )
inline

Member Function Documentation

◆ best_bvh_layout()

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

Definition at line 45 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 145 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 155 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 160 of file params.h.

References MAX_DEPTH.

Referenced by BVHBuild::build_node().

◆ use_motion_steps()

bool BVHParams::use_motion_steps ( )
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().

Member Data Documentation

◆ bvh_layout

BVHLayout BVHParams::bvh_layout

◆ bvh_type

int BVHParams::bvh_type

Definition at line 102 of file params.h.

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

◆ curve_subdivisions

int BVHParams::curve_subdivisions

Definition at line 105 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 71 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 72 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 74 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 70 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 73 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 69 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 68 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 64 of file params.h.

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

◆ sah_primitive_cost

float BVHParams::sah_primitive_cost

Definition at line 65 of file params.h.

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

◆ spatial_split_alpha

float BVHParams::spatial_split_alpha

Definition at line 58 of file params.h.

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

◆ top_level

bool BVHParams::top_level

◆ unaligned_split_threshold

float BVHParams::unaligned_split_threshold

Definition at line 61 of file params.h.

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

◆ use_compact_structure

bool BVHParams::use_compact_structure

Definition at line 88 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

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