5 #ifndef __BVH_PARAMS_H__
6 #define __BVH_PARAMS_H__
162 return (size <= min_leaf_size || level >=
MAX_DEPTH);
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
__forceinline float node_cost(int n) const
int max_triangle_leaf_size
int num_motion_triangle_steps
static BVHLayout best_bvh_layout(BVHLayout requested_layout, BVHLayoutMask supported_layouts)
float spatial_split_alpha
bool use_compact_structure
__forceinline float cost(int num_nodes, int num_primitives) const
__forceinline bool small_enough_for_leaf(int size, int level)
int max_motion_curve_leaf_size
int max_motion_point_leaf_size
int max_motion_triangle_leaf_size
int num_motion_point_steps
__forceinline float primitive_cost(int n) const
float unaligned_split_threshold
int num_motion_curve_steps
__forceinline BVHRange(const BoundBox &bounds_, int start_, int size_)
__forceinline int size() const
__forceinline int start() const
__forceinline const BoundBox & cent_bounds() const
__forceinline void set_start(int start_)
__forceinline BVHRange(const BoundBox &bounds_, const BoundBox &cbounds_, int start_, int size_)
__forceinline const BoundBox & bounds() const
__forceinline int end() const
BVHReference & operator=(const BVHReference &arg)
__forceinline int prim_type() const
__forceinline BVHReference()
__forceinline int prim_object() const
__forceinline const BoundBox & bounds() const
__forceinline BVHReference(const BoundBox &bounds_, int prim_index_, int prim_object_, int prim_type, float time_from=0.0f, float time_to=1.0f)
__forceinline float time_from() const
__forceinline float time_to() const
__forceinline int prim_index() const
#define CCL_NAMESPACE_END
const char * bvh_layout_name(BVHLayout layout)
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout
__forceinline BVHSpatialBin()
vector< BVHReference > new_references
vector< BoundBox > right_bounds
BVHSpatialBin bins[3][BVHParams::NUM_SPATIAL_BINS]
ccl_device_inline int __float_as_int(float f)
ccl_device_inline float __int_as_float(int i)