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

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, Floatoperator() (int axis, Float leftWidth, Float rightWidth) const
 

Static Public Member Functions

static Float getQuantity (const AABB &aabb)
 

Detailed Description

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

Constructor & Destructor Documentation

mitsuba::SurfaceAreaHeuristic3::SurfaceAreaHeuristic3 ( const AABB 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::SurfaceAreaHeuristic3::getQuantity ( const AABB 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::SurfaceAreaHeuristic3::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. In the case of the surface area heuristic, this is simply the ratio of surface areas.


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