Implements the 3D surface area heuristic for use by the GenericKDTree construction algorithm. More...
#include <mitsuba/render/sahkdtree3.h>
Public Member Functions | |
SurfaceAreaHeuristic3 (const AABB &aabb) | |
Initialize the surface area heuristic with the bounds of a parent node. More... | |
std::pair< Float, Float > | operator() (int axis, Float leftWidth, Float rightWidth) const |
Static Public Member Functions | |
static Float | getQuantity (const AABB &aabb) |
Implements the 3D surface area heuristic for use by the GenericKDTree construction algorithm.
|
inline |
Initialize the surface area heuristic with the bounds of a parent node.
Precomputes some information so that traversal probabilities of potential split planes can be evaluated efficiently
Compute the underlying quantity used by the tree construction heuristic. This is used to compute the final cost of a kd-tree.
|
inline |
Given a split on axis axis that produces children having extents leftWidth and rightWidth along axis, compute the probability of traversing the left and right child during a typical query operation. In the case of the surface area heuristic, this is simply the ratio of surface areas.