Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
warp.h File Reference

Go to the source code of this file.

Namespaces

 mitsuba
 
 mitsuba::warp
 Implements common warping techniques that map from the unit square to other domains, such as spheres, hemispheres, etc.
 

Macros

#define __MITSUBA_CORE_WARP_H_
 

Functions

Warping techniques related to spheres and subsets
Vector mitsuba::warp::squareToUniformSphere (const Point2 &sample)
 Uniformly sample a vector on the unit sphere with respect to solid angles. More...
 
Float mitsuba::warp::squareToUniformSpherePdf ()
 Density of squareToUniformSphere() with respect to solid angles. More...
 
Vector mitsuba::warp::squareToUniformHemisphere (const Point2 &sample)
 Uniformly sample a vector on the unit hemisphere with respect to solid angles. More...
 
Float mitsuba::warp::squareToUniformHemispherePdf ()
 Density of squareToUniformHemisphere() with respect to solid angles. More...
 
Vector mitsuba::warp::squareToCosineHemisphere (const Point2 &sample)
 Sample a cosine-weighted vector on the unit hemisphere with respect to solid angles. More...
 
Float mitsuba::warp::squareToCosineHemispherePdf (const Vector &d)
 Density of squareToCosineHemisphere() with respect to solid angles. More...
 
Vector mitsuba::warp::squareToUniformCone (Float cosCutoff, const Point2 &sample)
 Uniformly sample a vector that lies within a given cone of angles around the Z axis. More...
 
Float mitsuba::warp::squareToUniformConePdf (Float cosCutoff)
 Uniformly sample a vector that lies within a given cone of angles around the Z axis. More...
 
Warping techniques that operate in the plane
Point2 mitsuba::warp::squareToUniformDisk (const Point2 &sample)
 Uniformly sample a vector on a 2D disk. More...
 
Float mitsuba::warp::squareToUniformDiskPdf ()
 Density of squareToUniformDisk per unit area. More...
 
Point2 mitsuba::warp::squareToUniformDiskConcentric (const Point2 &sample)
 Low-distortion concentric square to disk mapping by Peter Shirley (PDF: 1/PI) More...
 
Point2 mitsuba::warp::uniformDiskToSquareConcentric (const Point2 &p)
 Inverse of the mapping squareToUniformDiskConcentric. More...
 
Float mitsuba::warp::squareToUniformDiskConcentricPdf ()
 Density of squareToUniformDisk per unit area. More...
 
Point2 mitsuba::warp::squareToUniformTriangle (const Point2 &sample)
 Convert an uniformly distributed square sample into barycentric coordinates. More...
 
Point2 mitsuba::warp::squareToStdNormal (const Point2 &sample)
 Sample a point on a 2D standard normal distribution. More...
 
Float mitsuba::warp::squareToStdNormalPdf (const Point2 &pos)
 Density of squareToStdNormal per unit area. More...
 
Point2 mitsuba::warp::squareToTent (const Point2 &sample)
 Warp a uniformly distributed square sample to a 2D tent distribution. More...
 
Float mitsuba::warp::intervalToNonuniformTent (Float a, Float b, Float c, Float sample)
 Warp a uniformly distributed sample on [0, 1] to a nonuniform tent distribution with nodes {a, b, c} More...
 

Macro Definition Documentation

#define __MITSUBA_CORE_WARP_H_