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

Implements the four-dimensional surface area heuristic for use by the GenericKDTree construction algorithm. More...

#include <mitsuba/render/sahkdtree4.h>

Public Member Functions

 SurfaceAreaHeuristic4 (const AABB4 &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 AABB4 &aabb)
 

Detailed Description

Implements the four-dimensional surface area heuristic for use by the GenericKDTree construction algorithm.

Constructor & Destructor Documentation

mitsuba::SurfaceAreaHeuristic4::SurfaceAreaHeuristic4 ( const AABB4 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::SurfaceAreaHeuristic4::getQuantity ( const AABB4 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::SurfaceAreaHeuristic4::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: