Implementation of 'Importance Sampling Spherical Harmonics' by W. Jarsz, N. Carr and H. W. Jensen (EUROGRAPHICS 2009)
More...
#include <mitsuba/core/shvector.h>
|
| | SHSampler (int bands, int depth) |
| | Precompute a spherical harmonics sampler object. More...
|
| |
| Float | warp (const SHVector &f, Point2 &sample) const |
| | Warp a uniform sample in [0,1]^2 to one that is approximately proportional to the specified function. More...
|
| |
| std::string | toString () const |
| | Return information on the size of the precomputed tables. More...
|
| |
| virtual const Class * | getClass () const |
| | Retrieve this object's class. More...
|
| |
| | Object () |
| | Construct a new object. More...
|
| |
| int | getRefCount () const |
| | Return the current reference count. More...
|
| |
| void | incRef () const |
| | Increase the reference count of the object by one. More...
|
| |
| void | decRef (bool autoDeallocate=true) const |
| | Decrease the reference count of the object and possibly deallocate it. More...
|
| |
|
| virtual | ~SHSampler () |
| | Virtual destructor. More...
|
| |
| int | I (int l, int m) const |
| |
| int | P (int m) const |
| |
| Float | lookupIntegral (int depth, int zBlock, int phiBlock, int l, int m) const |
| |
| Float * | legendreIntegrals (Float a, Float b) |
| | Recursively compute assoc. legendre & phi integrals. More...
|
| |
| Float * | phiIntegrals (Float a, Float b) |
| |
| Float | integrate (int depth, int zBlock, int phiBlock, const SHVector &f) const |
| | Integrate a SH expansion over the specified mip-map region. More...
|
| |
| virtual | ~Object () |
| | Virtual private deconstructor. (Will only be called by ref) More...
|
| |
Implementation of 'Importance Sampling Spherical Harmonics' by W. Jarsz, N. Carr and H. W. Jensen (EUROGRAPHICS 2009)
| mitsuba::SHSampler::SHSampler |
( |
int |
bands, |
|
|
int |
depth |
|
) |
| |
Precompute a spherical harmonics sampler object.
- Parameters
-
| bands | Number of SH coefficient bands to support |
| depth | Number of recursive sample warping steps. |
| virtual mitsuba::SHSampler::~SHSampler |
( |
| ) |
|
|
protectedvirtual |
| virtual const Class* mitsuba::SHSampler::getClass |
( |
| ) |
const |
|
virtual |
Retrieve this object's class.
Reimplemented from Object.
| int mitsuba::SHSampler::I |
( |
int |
l, |
|
|
int |
m |
|
) |
| const |
|
inlineprotected |
| Float mitsuba::SHSampler::integrate |
( |
int |
depth, |
|
|
int |
zBlock, |
|
|
int |
phiBlock, |
|
|
const SHVector & |
f |
|
) |
| const |
|
protected |
Integrate a SH expansion over the specified mip-map region.
Recursively compute assoc. legendre & phi integrals.
| Float mitsuba::SHSampler::lookupIntegral |
( |
int |
depth, |
|
|
int |
zBlock, |
|
|
int |
phiBlock, |
|
|
int |
l, |
|
|
int |
m |
|
) |
| const |
|
inlineprotected |
| int mitsuba::SHSampler::P |
( |
int |
m | ) |
const |
|
inlineprotected |
| std::string mitsuba::SHSampler::toString |
( |
| ) |
const |
|
virtual |
Return information on the size of the precomputed tables.
Reimplemented from Object.
Warp a uniform sample in [0,1]^2 to one that is approximately proportional to the specified function.
The resulting sample will have spherical coordinates [0,pi]x[0,2pi] and its actual PDF (which might be slightly different from the function evaluated at the sample, even if $f$ is a distribution) will be returned.
| int mitsuba::SHSampler::m_bands |
|
protected |
| int mitsuba::SHSampler::m_dataSize |
|
protected |
| int mitsuba::SHSampler::m_depth |
|
protected |
| Float*** mitsuba::SHSampler::m_legendreMap |
|
protected |
| Float* mitsuba::SHSampler::m_normalization |
|
protected |
| Float*** mitsuba::SHSampler::m_phiMap |
|
protected |
| Class* mitsuba::SHSampler::m_theClass |
|
static |
The documentation for this class was generated from the following file: