|
Blender V4.3
|
#include <binning.h>
Inherits BVHRange.
Public Member Functions | |
| __forceinline | BVHObjectBinning () |
| BVHObjectBinning (const BVHRange &job, BVHReference *prims, const BVHUnaligned *unaligned_heuristic=NULL, const Transform *aligned_space=NULL) | |
| void | split (BVHReference *prims, BVHObjectBinning &left_o, BVHObjectBinning &right_o) const |
| __forceinline const BoundBox & | unaligned_bounds () |
Public Member Functions inherited from BVHRange | |
| __forceinline | BVHRange () |
| __forceinline | BVHRange (const BoundBox &bounds_, int start_, int size_) |
| __forceinline | BVHRange (const BoundBox &bounds_, const BoundBox &cbounds_, int start_, int size_) |
| __forceinline void | set_start (int start_) |
| __forceinline const BoundBox & | bounds () const |
| __forceinline const BoundBox & | cent_bounds () const |
| __forceinline int | start () const |
| __forceinline int | size () const |
| __forceinline int | end () const |
Public Attributes | |
| float | splitSAH |
| float | leafSAH |
Protected Types | |
| enum | { MAX_BINS = 32 } |
| enum | { LOG_BLOCK_SIZE = 2 } |
Protected Member Functions | |
| __forceinline int4 | get_bin (const BoundBox &box) const |
| __forceinline int4 | get_bin (const float3 &c) const |
| __forceinline float4 | blocks (const int4 &a) const |
| __forceinline int | blocks (size_t a) const |
| __forceinline BoundBox | get_prim_bounds (const BVHReference &prim) const |
Protected Attributes | |
| int | dim |
| int | pos |
| size_t | num_bins |
| float3 | scale |
| BoundBox | bounds_ |
| BoundBox | cent_bounds_ |
| const BVHUnaligned * | unaligned_heuristic_ |
| const Transform * | aligned_space_ |
Protected Attributes inherited from BVHRange | |
| BoundBox | rbounds |
| BoundBox | cbounds |
|
inline |
| BVHObjectBinning::BVHObjectBinning | ( | const BVHRange & | job, |
| BVHReference * | prims, | ||
| const BVHUnaligned * | unaligned_heuristic = NULL, | ||
| const Transform * | aligned_space = NULL ) |
Definition at line 57 of file binning.cpp.
References aligned_space_, blocks(), BVHRange::bounds(), bounds_, BVHRange::cent_bounds(), cent_bounds_, BVHUnaligned::compute_aligned_boundbox(), count, dim, BoundBox::empty, extract(), float3_to_float4(), FLT_MAX, get_best_dimension(), get_bin(), get_prim_bounds(), BoundBox::grow(), BoundBox::half_area(), insert(), int, leafSAH, make_float3(), make_float4(), make_int4(), MAX_BINS, merge(), min, NULL, num_bins, pos, prefetch_L2(), rcp(), select(), BoundBox::size(), BVHRange::size(), splitSAH, BVHRange::start(), and zero_float4().
|
inlineprotected |
Definition at line 79 of file binning.h.
References LOG_BLOCK_SIZE, make_float4(), and make_int4().
Referenced by BVHObjectBinning().
|
inlineprotected |
Definition at line 85 of file binning.h.
References LOG_BLOCK_SIZE.
|
inlineprotected |
Definition at line 63 of file binning.h.
References cent_bounds_, clamp(), make_float3(), make_int4(), BoundBox::min, and num_bins.
Referenced by BVHObjectBinning(), and split().
|
inlineprotected |
Definition at line 73 of file binning.h.
References cent_bounds_, make_float3(), make_int4(), and BoundBox::min.
|
inlineprotected |
Definition at line 90 of file binning.h.
References aligned_space_, BVHReference::bounds(), BVHUnaligned::compute_aligned_prim_boundbox(), NULL, and unaligned_heuristic_.
Referenced by BVHObjectBinning(), and split().
| void BVHObjectBinning::split | ( | BVHReference * | prims, |
| BVHObjectBinning & | left_o, | ||
| BVHObjectBinning & | right_o ) const |
Definition at line 214 of file binning.cpp.
References BVHRange::bounds(), BVHReference::bounds(), BVHObjectBinning(), BVHRange::BVHRange(), BoundBox::center2(), dim, BoundBox::empty, get_bin(), get_prim_bounds(), BoundBox::grow(), l, N, pos, prefetch_L2(), BVHRange::size(), BVHRange::start(), swap, and unaligned_bounds().
Referenced by BVHBuild::build_node().
|
inline |
Definition at line 38 of file binning.h.
References bounds_.
Referenced by BVHBuild::build_node(), and split().
|
protected |
Definition at line 57 of file binning.h.
Referenced by BVHObjectBinning(), and get_prim_bounds().
|
protected |
Definition at line 53 of file binning.h.
Referenced by BVHObjectBinning(), and unaligned_bounds().
|
protected |
Definition at line 54 of file binning.h.
Referenced by BVHObjectBinning(), get_bin(), and get_bin().
|
protected |
Definition at line 47 of file binning.h.
Referenced by BVHObjectBinning(), and split().
| float BVHObjectBinning::leafSAH |
Definition at line 44 of file binning.h.
Referenced by BVHBuild::build_node(), and BVHObjectBinning().
|
protected |
Definition at line 49 of file binning.h.
Referenced by BVHObjectBinning(), and get_bin().
|
protected |
Definition at line 48 of file binning.h.
Referenced by BVHObjectBinning(), and split().
| float BVHObjectBinning::splitSAH |
Definition at line 43 of file binning.h.
Referenced by BVHBuild::build_node(), and BVHObjectBinning().
|
protected |
Definition at line 56 of file binning.h.
Referenced by get_prim_bounds().