Blender
V3.3
|
#include <split.h>
Public Member Functions | |
BVHObjectSplit () | |
BVHObjectSplit (BVHBuild *builder, BVHSpatialStorage *storage, const BVHRange &range, vector< BVHReference > &references, float nodeSAH, const BVHUnaligned *unaligned_heuristic=NULL, const Transform *aligned_space=NULL) | |
void | split (BVHRange &left, BVHRange &right, const BVHRange &range) |
Public Attributes | |
float | sah |
int | dim |
int | num_left |
BoundBox | left_bounds |
BoundBox | right_bounds |
Protected Member Functions | |
__forceinline BoundBox | get_prim_bounds (const BVHReference &prim) const |
Protected Attributes | |
BVHSpatialStorage * | storage_ |
vector< BVHReference > * | references_ |
const BVHUnaligned * | unaligned_heuristic_ |
const Transform * | aligned_space_ |
Definition at line 21 of file bvh/split.h.
|
inline |
Definition at line 29 of file bvh/split.h.
CCL_NAMESPACE_BEGIN BVHObjectSplit::BVHObjectSplit | ( | BVHBuild * | builder, |
BVHSpatialStorage * | storage, | ||
const BVHRange & | range, | ||
vector< BVHReference > & | references, | ||
float | nodeSAH, | ||
const BVHUnaligned * | unaligned_heuristic = NULL , |
||
const Transform * | aligned_space = NULL |
||
) |
Definition at line 21 of file bvh/split.cpp.
References aligned_space_, bvh_reference_sort(), dim, BoundBox::empty, BVHRange::end(), get_prim_bounds(), BoundBox::grow(), left_bounds, num_left, BVHBuild::params, BVHParams::primitive_cost(), references_, BVHSpatialStorage::right_bounds, right_bounds, BoundBox::safe_area(), sah, BVHRange::size(), BVHRange::start(), storage_, and unaligned_heuristic_.
|
inlineprotected |
Definition at line 48 of file bvh/split.h.
References aligned_space_, BVHReference::bounds(), BVHUnaligned::compute_aligned_prim_boundbox(), NULL, and unaligned_heuristic_.
Referenced by BVHObjectSplit().
Definition at line 84 of file bvh/split.cpp.
References aligned_space_, bvh_reference_sort(), BoundBox::empty, BVHRange::end(), BoundBox::grow(), left, left_bounds, NULL, num_left, references_, right, right_bounds, BVHRange::size(), BVHRange::start(), and unaligned_heuristic_.
|
protected |
Definition at line 46 of file bvh/split.h.
Referenced by BVHObjectSplit(), get_prim_bounds(), and split().
int BVHObjectSplit::dim |
Definition at line 24 of file bvh/split.h.
Referenced by BVHObjectSplit().
BoundBox BVHObjectSplit::left_bounds |
Definition at line 26 of file bvh/split.h.
Referenced by BVHObjectSplit(), and split().
int BVHObjectSplit::num_left |
Definition at line 25 of file bvh/split.h.
Referenced by BVHObjectSplit(), and split().
|
protected |
Definition at line 44 of file bvh/split.h.
Referenced by BVHObjectSplit(), and split().
BoundBox BVHObjectSplit::right_bounds |
Definition at line 27 of file bvh/split.h.
Referenced by BVHObjectSplit(), and split().
float BVHObjectSplit::sah |
Definition at line 23 of file bvh/split.h.
Referenced by BVHObjectSplit().
|
protected |
Definition at line 43 of file bvh/split.h.
Referenced by BVHObjectSplit().
|
protected |
Definition at line 45 of file bvh/split.h.
Referenced by BVHObjectSplit(), get_prim_bounds(), and split().