Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Python bindings

Classes

struct  mitsuba::AABB
 Axis-aligned bounding box data structure in three dimensions. More...
 
class  mitsuba::Appender
 This class defines an abstract destination for logging-relevant information. More...
 
class  mitsuba::StreamAppender
 Appender implementation, which writes to an arbitrary C++ output stream More...
 
class  mitsuba::Bitmap
 General-purpose bitmap class with read and write support for several common file formats. More...
 
struct  mitsuba::BSphere
 Bounding sphere data structure in three dimensions. More...
 
class  mitsuba::ConfigurableObject
 Generic serializable object, which supports construction from a Properties instance. More...
 
class  mitsuba::ConsoleStream
 Stream-style interface to the default stdin/stdout console streams. More...
 
class  mitsuba::Formatter
 Abstract interface for converting log information into a human-readable format. More...
 
class  mitsuba::DefaultFormatter
 The default formatter used to turn log messages into a human-readable form. More...
 
struct  mitsuba::Frame
 Stores a three-dimensional orthonormal coordinate frame. More...
 
class  mitsuba::FileResolver
 File resolution helper. More...
 
class  mitsuba::FileStream
 Simple Stream implementation for accessing files. More...
 
class  mitsuba::Logger
 Responsible for processing log messages. More...
 
struct  mitsuba::Matrix4x4
 Basic 4x4 matrix data type. More...
 
class  mitsuba::MemoryStream
 Simple memory buffer-based stream with automatic memory management. More...
 
struct  mitsuba::Normal
 Three-dimensional normal data structure. More...
 
class  Object
 Parent of all Mitsuba classes. More...
 
class  mitsuba::PluginManager
 The plugin manager is responsible for resolving and loading external plugins. More...
 
class  mitsuba::Properties
 Associative parameter map for constructing subclasses of ConfigurableObject. More...
 
class  mitsuba::GaussLobattoIntegrator
 Computes the integral of a one-dimensional function using adaptive Gauss-Lobatto quadrature. More...
 
class  mitsuba::Random
 Random number generator based on SIMD-oriented Fast Mersenne Twister More...
 
struct  mitsuba::TRay< _PointType, _VectorType >
 Simple n-dimensional ray data structure with minimum / maximum extent information. More...
 
class  mitsuba::ReconstructionFilter
 Generic interface to separable image reconstruction filters. More...
 
class  mitsuba::WorkUnit
 Abstract work unit – represents a small amount of information that encodes part of a larger processing task. More...
 
class  mitsuba::WorkResult
 Abstract work result – represents the result of a processed WorkUnit instance. More...
 
class  mitsuba::WorkProcessor
 Abstract work processor – takes work units and turns them into WorkResult instances. More...
 
class  mitsuba::ParallelProcess
 Abstract parallelizable task. More...
 
class  mitsuba::Scheduler
 Centralized task scheduler implementation. More...
 
class  mitsuba::Worker
 Base class of all worker implementations. More...
 
class  mitsuba::LocalWorker
 Acquires work from the scheduler and executes it locally. More...
 
class  mitsuba::RemoteWorker
 Acquires work from the scheduler and forwards it to a processing node reachable through a Stream. More...
 
class  mitsuba::SerializableObject
 Base class of all reference-counted objects with serialization support. More...
 
class  mitsuba::InstanceManager
 Coordinates the serialization and unserialization of object graphs. More...
 
struct  mitsuba::SHRotation
 Stores the diagonal blocks of a spherical harmonic rotation matrix. More...
 
struct  mitsuba::SHVector
 Stores a truncated real spherical harmonics representation of an L2-integrable function. More...
 
class  mitsuba::SHSampler
 Implementation of 'Importance Sampling Spherical Harmonics' by W. Jarsz, N. Carr and H. W. Jensen (EUROGRAPHICS 2009) More...
 
class  mitsuba::ContinuousSpectrum
 Abstract continous spectral power distribution data type, which supports evaluation at arbitrary wavelengths. More...
 
class  mitsuba::InterpolatedSpectrum
 Linearly interpolated spectral power distribution. More...
 
struct  mitsuba::Color3
 RGB color data type. More...
 
struct  mitsuba::Spectrum
 Discrete spectral power distribution based on a number of wavelength bins over the 360-830 nm range. More...
 
class  mitsuba::SSHStream
 Stream implementation based on an encrypted SSH tunnel. More...
 
class  mitsuba::SocketStream
 Portable Stream implementation, which encapsulates a socket for IPv4/IPv6 network communications. More...
 
class  mitsuba::Statistics
 Collects various rendering statistics and presents them in a human-readable form. More...
 
class  mitsuba::Stream
 Abstract seekable stream class. More...
 
class  mitsuba::Thread
 Cross-platform thread implementation. More...
 
struct  mitsuba::Transform
 Encapsulates a 4x4 linear transformation and its inverse. More...
 
struct  mitsuba::BSDFSamplingRecord
 This data structured contains all information that is required to sample or query a BSDF. More...
 
class  mitsuba::BSDF
 Abstract BSDF base-class. More...
 
class  mitsuba::Noise
 Contains a few useful noise functions. More...
 
class  mitsuba::RenderJob
 Coordinates the process of rendering a single image. More...
 
class  mitsuba::Sampler
 Base class of all sample generators. More...
 
class  mitsuba::Scene
 Principal scene data structure. More...
 
class  mitsuba::SceneHandler
 XML parser for Mitsuba scene files. To be used with the SAX interface of Xerces-C++. More...
 
struct  mitsuba::Intersection
 Container for all information related to a surface intersection. More...
 
class  mitsuba::Shape
 Abstract base class of all shapes. More...
 
struct  mitsuba::TangentSpace
 Simple tangent space storage for surfaces. More...
 
class  mitsuba::TriMesh
 Abstract triangle mesh base class. More...
 

Typedefs

typedef TVector2< FloatVector2
 
typedef TVector2< int > Vector2i
 
typedef TVector3< FloatVector
 
typedef TVector3< FloatVector3
 
typedef TVector3< int > Vector3i
 
typedef TVector4< FloatVector4
 
typedef TPoint2< FloatPoint2
 
typedef TPoint2< int > Point2i
 
typedef TPoint3< FloatPoint
 
typedef TPoint3< FloatPoint3
 
typedef TPoint3< int > Point3i
 
typedef TQuaternion< FloatQuaternion
 
typedef TRay< Point, VectorRay
 

Elementary Quasi-Monte Carlo number sequences

const int mitsuba::primeTable [primeTableSize]
 Table of the first 1024 prime numbers. More...
 
float mitsuba::radicalInverse2Single (uint32_t n, uint32_t scramble=0U)
 Van der Corput radical inverse in base 2 with single precision. More...
 
double mitsuba::radicalInverse2Double (uint64_t n, uint64_t scramble=0ULL)
 Van der Corput radical inverse in base 2 with double precision. More...
 
float mitsuba::sobol2Single (uint32_t n, uint32_t scramble=0U)
 Sobol' radical inverse in base 2 with single precision. More...
 
double mitsuba::sobol2Double (uint64_t n, uint64_t scramble=0ULL)
 Sobol' radical inverse in base 2 with double precision. More...
 
Point2f mitsuba::sample02Single (uint32_t n, uint32_t scramble[2])
 Generate an element from a (0, 2) sequence, single precision. More...
 
Point2d mitsuba::sample02Double (uint64_t n, uint64_t scramble[2])
 Generate an element from a (0, 2) sequence, double precision version. More...
 
Point2 mitsuba::sample02 (size_t n)
 Generate an element from a (0, 2) sequence (without scrambling) More...
 
uint64_t mitsuba::sampleTEA (uint32_t v0, uint32_t v1, int rounds=4)
 Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham. More...
 
float mitsuba::sampleTEASingle (uint32_t v0, uint32_t v1, int rounds=4)
 Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham. More...
 
double mitsuba::sampleTEADouble (uint32_t v0, uint32_t v1, int rounds=4)
 Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham. More...
 
Float mitsuba::sampleTEAFloat (uint32_t v0, uint32_t v1, int rounds=4)
 Alias to sampleTEASingle or sampleTEADouble based on compilation flags. More...
 
Float mitsuba::radicalInverse (int base, uint64_t index)
 Calculate the radical inverse function. More...
 
Float mitsuba::scrambledRadicalInverse (int base, uint64_t index, uint16_t *perm)
 Calculate a scrambled radical inverse function. More...
 
Float mitsuba::radicalInverseIncremental (int base, Float x)
 Incrementally calculate the next Van Der Corput sequence value starting from a current entry x (wrt. a fixed base) More...
 
Float mitsuba::radicalInverseFast (uint16_t baseIndex, uint64_t index)
 Calculate a radical inverse function (fast version) More...
 
Float mitsuba::scrambledRadicalInverseFast (uint16_t baseIndex, uint64_t index, uint16_t *perm)
 Calculate a scrambled radical inverse function (fast version) More...
 

Warping and sampling-related utility functions

MTS_EXPORT_CORE void coordinateSystem (const Vector &a, Vector &b, Vector &c)
 Complete the set {a} to an orthonormal base. More...
 

Fresnel reflectance computation and related things

MTS_EXPORT_CORE Float fresnelDielectric (Float cosThetaI, Float cosThetaT, Float eta)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics. More...
 
MTS_EXPORT_CORE Float fresnelDielectricExt (Float cosThetaI, Float &cosThetaT, Float eta)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics (extended version) More...
 
MTS_EXPORT_CORE Float fresnelConductorApprox (Float cosThetaI, Float eta, Float k)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (approximate scalar version) More...
 
MTS_EXPORT_CORE Spectrum fresnelConductorApprox (Float cosThetaI, const Spectrum &eta, const Spectrum &k)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (approximate vectorized version) More...
 
MTS_EXPORT_CORE Float fresnelConductorExact (Float cosThetaI, Float eta, Float k)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (accurate scalar version) More...
 
MTS_EXPORT_CORE Spectrum fresnelConductorExact (Float cosThetaI, const Spectrum &eta, const Spectrum &k)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (accurate vectorized version) More...
 
MTS_EXPORT_CORE Float fresnelDiffuseReflectance (Float eta, bool fast=false)
 Calculates the diffuse unpolarized Fresnel reflectance of a dielectric material (sometimes referred to as "Fdr"). More...
 
MTS_EXPORT_CORE Vector reflect (const Vector &wi, const Normal &n)
 Specularly reflect direction wi with respect to the given surface normal. More...
 
MTS_EXPORT_CORE Vector refract (const Vector &wi, const Normal &n, Float eta, Float &cosThetaT, Float &F)
 Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction. More...
 
MTS_EXPORT_CORE Vector refract (const Vector &wi, const Normal &n, Float eta, Float cosThetaT)
 Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction. More...
 
Float fresnelDielectricExt (Float cosThetaI, Float eta)
 Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics (extended version) More...
 
MTS_EXPORT_CORE Vector refract (const Vector &wi, const Normal &n, Float eta)
 Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction. More...
 

Detailed Description

This module references all classes that have Python bindings

Typedef Documentation

typedef TPoint3<Float> Point
typedef TPoint2<Float> Point2
typedef TPoint2<int> Point2i
typedef TPoint3<Float> Point3
typedef TPoint3<int> Point3i
typedef TRay<Point, Vector> Ray
typedef TVector3<Float> Vector
typedef TVector2<int> Vector2i
typedef TVector3<int> Vector3i

Function Documentation

MTS_EXPORT_CORE void coordinateSystem ( const Vector a,
Vector b,
Vector c 
)

Complete the set {a} to an orthonormal base.

Remarks
In Python, this function is used as follows: s, t = coordinateSystem(n)
MTS_EXPORT_CORE Float fresnelConductorApprox ( Float  cosThetaI,
Float  eta,
Float  k 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (approximate scalar version)

The implementation of this function relies on a simplified expression that becomes increasingly accurate as k grows.

The name of this function is a slight misnomer, since it supports the general case of a complex-valued relative index of refraction (rather than being restricted to conductors)

Parameters
cosThetaICosine of the angle between the normal and the incident ray
etaRelative refractive index (real component)
kRelative refractive index (imaginary component)
MTS_EXPORT_CORE Spectrum fresnelConductorApprox ( Float  cosThetaI,
const Spectrum &  eta,
const Spectrum &  k 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (approximate vectorized version)

The implementation of this function relies on a simplified expression that becomes increasingly accurate as k grows.

The name of this function is a slight misnomer, since it supports the general case of a complex-valued relative index of refraction (rather than being restricted to conductors)

Parameters
cosThetaICosine of the angle between the normal and the incident ray
etaRelative refractive index (real component)
kRelative refractive index (imaginary component)
MTS_EXPORT_CORE Float fresnelConductorExact ( Float  cosThetaI,
Float  eta,
Float  k 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (accurate scalar version)

The implementation of this function computes the exact unpolarized Fresnel reflectance for a complex index of refraction change.

The name of this function is a slight misnomer, since it supports the general case of a complex-valued relative index of refraction (rather than being restricted to conductors)

Parameters
cosThetaICosine of the angle between the normal and the incident ray
etaRelative refractive index (real component)
kRelative refractive index (imaginary component)
MTS_EXPORT_CORE Spectrum fresnelConductorExact ( Float  cosThetaI,
const Spectrum &  eta,
const Spectrum &  k 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface having a complex-valued relative index of refraction (accurate vectorized version)

The implementation of this function computes the exact unpolarized Fresnel reflectance for a complex index of refraction change.

The name of this function is a slight misnomer, since it supports the general case of a complex-valued relative index of refraction (rather than being restricted to conductors)

Parameters
cosThetaICosine of the angle between the normal and the incident ray
etaRelative refractive index (real component)
kRelative refractive index (imaginary component)
MTS_EXPORT_CORE Float fresnelDielectric ( Float  cosThetaI,
Float  cosThetaT,
Float  eta 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics.

This is a basic implementation that just returns the value of

\[ R(\cos\theta_i,\cos\theta_t,\eta)=\frac{1}{2} \left[ \left(\frac{\eta\cos\theta_i-\cos\theta_t}{\eta\cos\theta_i+\cos\theta_t}\right)^2+ \left(\frac{\cos\theta_i-\eta\cos\theta_t}{\cos\theta_i+\eta\cos\theta_t}\right)^2 \right] \]

The transmitted direction must be provided. There is no logic pertaining to total internal reflection or negative direction cosines.

Parameters
cosThetaIAbsolute cosine of the angle between the normal and the incident ray
cosThetaTAbsolute cosine of the angle between the normal and the transmitted ray
etaRelative refractive index to the transmitted direction
MTS_EXPORT_CORE Float fresnelDielectricExt ( Float  cosThetaI,
Float cosThetaT,
Float  eta 
)

Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics (extended version)

In comparison to fresnelDielectric(), this function internally computes the transmitted direction and returns it using the cosThetaT argument. When encountering total internal reflection, it sets cosThetaT=0 and returns the value 1.

When cosThetaI < 0, the function computes the Fresnel reflectance from the internal boundary, which is equivalent to calling the function with arguments fresnelDielectric(abs(cosThetaI), cosThetaT, 1/eta).

Remarks
When accessed from Python, this function has the signature "<tt>F, cosThetaT = fresnelDielectricExt(cosThetaI, eta)</tt>".
Parameters
cosThetaICosine of the angle between the normal and the incident ray (may be negative)
cosThetaTArgument used to return the cosine of the angle between the normal and the transmitted ray, will have the opposite sign of cosThetaI
etaRelative refractive index
Float fresnelDielectricExt ( Float  cosThetaI,
Float  eta 
)
inline

Calculates the unpolarized Fresnel reflection coefficient at a planar interface between two dielectrics (extended version)

This is just a convenience wrapper function around the other fresnelDielectricExt function, which does not return the transmitted direction cosine in case it is not needed by the application.

Parameters
cosThetaICosine of the angle between the normal and the incident ray
etaRelative refractive index
MTS_EXPORT_CORE Float fresnelDiffuseReflectance ( Float  eta,
bool  fast = false 
)

Calculates the diffuse unpolarized Fresnel reflectance of a dielectric material (sometimes referred to as "Fdr").

This value quantifies what fraction of diffuse incident illumination will, on average, be reflected at a dielectric material boundary

Parameters
etaRelative refraction coefficient
fastCompute an approximate value? If set to true, the implementation will use a polynomial approximation with a max relative error of ~0.5% on the interval 0.5 < eta < 2. When fast=false, the code will use Gauss-Lobatto quadrature to compute the diffuse reflectance more accurately, and for a wider range of refraction coefficients, but at a cost in terms of performance.
Float mitsuba::radicalInverse ( int  base,
uint64_t  index 
)

Calculate the radical inverse function.

This function is used as a building block to construct Halton and Hammersley sequences. Roughly, it computes a b-ary representation of the input value index, mirrors it along the decimal point, and returns the resulting fractional value.

double mitsuba::radicalInverse2Double ( uint64_t  n,
uint64_t  scramble = 0ULL 
)
inline

Van der Corput radical inverse in base 2 with double precision.

float mitsuba::radicalInverse2Single ( uint32_t  n,
uint32_t  scramble = 0U 
)
inline

Van der Corput radical inverse in base 2 with single precision.

Float mitsuba::radicalInverseFast ( uint16_t  baseIndex,
uint64_t  index 
)

Calculate a radical inverse function (fast version)

This function works similarly to radicalInverse, but is potentially much faster. Internally, it relies on optimized implementations of the radical inverse functions for the first 1024 prime number bases. For that reason, only works for such bases.

Parameters
baseIndexPrime number index starting at 0 (i.e. 3 would cause 7 to be used as the basis)
indexSequence index
Float mitsuba::radicalInverseIncremental ( int  base,
Float  x 
)

Incrementally calculate the next Van Der Corput sequence value starting from a current entry x (wrt. a fixed base)

Repeated evaluation eventually causes a loss of accuracy

MTS_EXPORT_CORE Vector reflect ( const Vector wi,
const Normal &  n 
)

Specularly reflect direction wi with respect to the given surface normal.

Parameters
wiIncident direction
nSurface normal
Returns
Specularly reflected direction
MTS_EXPORT_CORE Vector refract ( const Vector wi,
const Normal &  n,
Float  eta,
Float cosThetaT,
Float F 
)

Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction.

This variant internally computes the transmitted direction cosine by calling fresnelDielectricExt. As a side result, the cosine and Fresnel reflectance are computed and returned via the reference arguments cosThetaT and F.

Remarks
When accessed from Python, this function has the signature "<tt>dir, cosThetaT, F = refract(wi, n, eta)</tt>".
Parameters
wiIncident direction
nSurface normal
etaRelative index of refraction at the interface
cosThetaTParameter used to return the signed cosine of the angle between the transmitted direction and the surface normal
FParameter used to return the Fresnel reflectance
Returns
Specularly transmitted direction (or zero in the case of total internal reflection)
MTS_EXPORT_CORE Vector refract ( const Vector wi,
const Normal &  n,
Float  eta,
Float  cosThetaT 
)

Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction.

This variant assumes that the transmitted direction cosine has has already been computed, allowing it to save some time.

Parameters
wiIncident direction
nSurface normal
etaRelative index of refraction at the interface
cosThetaTSigned cosine of the angle between the transmitted direction and the surface normal obtained from a prior call to fresnelDielectricExt()
Returns
Specularly transmitted direction
MTS_EXPORT_CORE Vector refract ( const Vector wi,
const Normal &  n,
Float  eta 
)

Specularly refract the direction wi into a planar dielectric with the given surface normal and index of refraction.

This function is a simple convenience function that only returns the refracted direction while not computing the Frensel reflectance.

Parameters
wiIncident direction
nSurface normal
etaRelative index of refraction at the interface
Returns
Specularly transmitted direction (or zero in the case of total internal reflection)
Point2 mitsuba::sample02 ( size_t  n)
inline

Generate an element from a (0, 2) sequence (without scrambling)

Point2d mitsuba::sample02Double ( uint64_t  n,
uint64_t  scramble[2] 
)
inline

Generate an element from a (0, 2) sequence, double precision version.

Point2f mitsuba::sample02Single ( uint32_t  n,
uint32_t  scramble[2] 
)
inline

Generate an element from a (0, 2) sequence, single precision.

uint64_t mitsuba::sampleTEA ( uint32_t  v0,
uint32_t  v1,
int  rounds = 4 
)
inline

Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham.

For details, refer to "GPU Random Numbers via the Tiny Encryption Algorithm" by Fahad Zafar, Marc Olano, and Aaron Curtis.

Parameters
v0First input value to be encrypted (could be the sample index)
v1Second input value to be encrypted (e.g. the requested random number dimension)
roundsHow many rounds should be executed? The default for random number generation is 4.
Returns
A uniformly distributed 64-bit integer
double mitsuba::sampleTEADouble ( uint32_t  v0,
uint32_t  v1,
int  rounds = 4 
)
inline

Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham.

This function uses sampleTEA to return single precision floating point numbers on the interval [0, 1)

Parameters
v0First input value to be encrypted (could be the sample index)
v1Second input value to be encrypted (e.g. the requested random number dimension)
roundsHow many rounds should be executed? The default for random number generation is 4.
Returns
A uniformly distributed floating point number on the interval [0, 1)
Float mitsuba::sampleTEAFloat ( uint32_t  v0,
uint32_t  v1,
int  rounds = 4 
)
inline

Alias to sampleTEASingle or sampleTEADouble based on compilation flags.

float mitsuba::sampleTEASingle ( uint32_t  v0,
uint32_t  v1,
int  rounds = 4 
)
inline

Generate fast and reasonably good pseudorandom numbers using the Tiny Encryption Algorithm (TEA) by David Wheeler and Roger Needham.

This function uses sampleTEA to return single precision floating point numbers on the interval [0, 1)

Parameters
v0First input value to be encrypted (could be the sample index)
v1Second input value to be encrypted (e.g. the requested random number dimension)
roundsHow many rounds should be executed? The default for random number generation is 4.
Returns
A uniformly distributed floating point number on the interval [0, 1)
Float mitsuba::scrambledRadicalInverse ( int  base,
uint64_t  index,
uint16_t *  perm 
)

Calculate a scrambled radical inverse function.

This function is used as a building block to construct permuted Halton and Hammersley sequence variants. It works like the normal radical inverse function radicalInverse(), except that every digit is run through an extra scrambling permutation specified as array of size base.

Remarks
This function is not available in the Python API
Float mitsuba::scrambledRadicalInverseFast ( uint16_t  baseIndex,
uint64_t  index,
uint16_t *  perm 
)

Calculate a scrambled radical inverse function (fast version)

This function is used as a building block to construct permuted Halton and Hammersley sequence variants. It works like the fast radical inverse function radicalInverseFast(), except that every digit is run through an extra scrambling permutation.

Remarks
This function is not available in the Python API
double mitsuba::sobol2Double ( uint64_t  n,
uint64_t  scramble = 0ULL 
)
inline

Sobol' radical inverse in base 2 with double precision.

float mitsuba::sobol2Single ( uint32_t  n,
uint32_t  scramble = 0U 
)
inline

Sobol' radical inverse in base 2 with single precision.

Variable Documentation

const int mitsuba::primeTable[primeTableSize]

Table of the first 1024 prime numbers.