A collection of useful warping functions for importance sampling. More...
#include <warp.h>
Static Public Member Functions | |
static Vector3f | sampleUniformHemisphere (Sampler *sampler, const Normal3f &northPole) |
Uniformly sample a vector on the unit hemisphere with respect to solid angles (naive implementation) | |
static Point2f | squareToUniformSquare (const Point2f &sample) |
Dummy warping function: takes uniformly distributed points in a square and just returns them. | |
static float | squareToUniformSquarePdf (const Point2f &p) |
Probability density of squareToUniformSquare() | |
static Point2f | squareToUniformDisk (const Point2f &sample) |
Uniformly sample a vector on a 2D disk with radius 1, centered around the origin. | |
static float | squareToUniformDiskPdf (const Point2f &p) |
Probability density of squareToUniformDisk() | |
static Vector3f | squareToUniformSphere (const Point2f &sample) |
Uniformly sample a vector on the unit sphere with respect to solid angles. | |
static float | squareToUniformSpherePdf (const Vector3f &v) |
Probability density of squareToUniformSphere() | |
static Vector3f | squareToUniformSphereCap (const Point2f &sample, float cosThetaMax) |
Uniformly sample a vector on a spherical cap around (0, 0, 1) More... | |
static float | squareToUniformSphereCapPdf (const Vector3f &v, float cosThetaMax) |
Probability density of squareToUniformSphereCap() | |
static Vector3f | squareToUniformHemisphere (const Point2f &sample) |
Uniformly sample a vector on the unit hemisphere around the pole (0,0,1) with respect to solid angles. | |
static float | squareToUniformHemispherePdf (const Vector3f &v) |
Probability density of squareToUniformHemisphere() | |
static Vector3f | squareToCosineHemisphere (const Point2f &sample) |
Uniformly sample a vector on the unit hemisphere around the pole (0,0,1) with respect to projected solid angles. | |
static float | squareToCosineHemispherePdf (const Vector3f &v) |
Probability density of squareToCosineHemisphere() | |
static Vector3f | squareToBeckmann (const Point2f &sample, float alpha) |
Warp a uniformly distributed square sample to a Beckmann distribution * cosine for the given 'alpha' parameter. | |
static float | squareToBeckmannPdf (const Vector3f &m, float alpha) |
Probability density of squareToBeckmann() | |
static Vector3f | squareToUniformTriangle (const Point2f &sample) |
A collection of useful warping functions for importance sampling.