Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::SurfaceAreaHeuristic2 Class Reference

Implements the 2D surface area heuristic for use by the GenericKDTree construction algorithm. More...

#include <mitsuba/render/sahkdtree2.h>

Public Member Functions

 SurfaceAreaHeuristic2 (const AABB2 &aabb)
 Initialize the surface area heuristic with the bounds of a parent node. More...
 
std::pair< Float, Floatoperator() (int axis, Float leftWidth, Float rightWidth) const
 

Static Public Member Functions

static Float getQuantity (const AABB2 &aabb)
 

Detailed Description

Implements the 2D surface area heuristic for use by the GenericKDTree construction algorithm.

Constructor & Destructor Documentation

mitsuba::SurfaceAreaHeuristic2::SurfaceAreaHeuristic2 ( const AABB2 aabb)
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

Member Function Documentation

static Float mitsuba::SurfaceAreaHeuristic2::getQuantity ( const AABB2 aabb)
inlinestatic

Compute the underlying quantity used by the tree construction heuristic. This is used to compute the final cost of a kd-tree.

std::pair<Float, Float> mitsuba::SurfaceAreaHeuristic2::operator() ( int  axis,
Float  leftWidth,
Float  rightWidth 
) const
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.


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