Documentation (version 2.0.2)

  1. Root element
  2. Surface/Medium integrators
  3. Subsurface Integrators
  4. Luminaires
  5. Participating media
  6. Phase functions
  7. Cameras
  8. Films
  9. Reconstruction filters
  10. Samplers

- Scene root element

Plugin name:
Class name: Scene
Description: Tweaking the kd-tree construction parameters is generally not required.
string
    testType
When test case mode is active (ubiquaque is started with the -t parameter), this specifies the type of test performed. ubiquaque will expect a reference solution file of the name <sceneName>.ref. When set to t-test, a two-sided t-test on equality to the reference will be performed at the (1 - testThresh) level (99% by default). When set to relerr, the test will fail if the relative error exceeds testThresh. (Default: t-test)
float
    testThresh
Error threshold for use with testType (Default: 0.01)
boolean
    importanceSampleLuminaires
By default, luminaire sampling chooses a luminaire with a probability dependent on the emitted power. Setting this parameter to false switches to uniform sampling. (Default: true)
boolean
    kdClip
kd-tree construction: Enable primitive clipping? Generally leads to a significant improvement of the resulting tree. (Default: true)
float
    kdIntersectionCost
kd-tree construction: Relative cost of a triangle intersection operation in the surface area heuristic. (Default: 20)
float
    kdTraversalCost
kd-tree construction: Relative cost of a kd-tree traversal operation in the surface area heuristic. (Default: 15)
float
    kdEmptyBonus
kd-tree construction: Bonus factor for cutting away regions of empty space (Default: 0.8)
integer
    kdStopPrims
kd-tree construction: A kd-tree node containing this many or fewer primitives will not be split (Default: 8)

SampleIntegrator (abstract) - Base class of all sampling-based integrators

Class name: SampleIntegrator
Description: Base class of all sampling-based integrators
boolean
    irrSamples
When computing the irradiance at a surface point using the integrator's E() function, how many samples per pixel should be used? (Default: true)
boolean
    irrIndirect
When computing the irradiance at a surface point using the integrator's E() function, should indirect illumination be included in the estimate? (Default: true)

MonteCarloIntegrator (abstract) - Base class of recursive MC integrators

Class hierarchy: MonteCarloIntegrator extends SampleIntegrator
Description: Base class of all unbiased recursive Monte Carlo integrators, which estimate the infinite dimensional integral given by the rendering equation (and optionally the radiative transfer equation).
boolean
    multipleScattering
Should the multiple scattering term be included? (if supported by the integrator) (Default: true)
integer
    rrDepth
Depth to start using russian roulette (Default: 10)
integer
    maxDepth
If set to a positive, value, the recursion will stop after this depth. A value of '1' will lead to one-bounce (direct-only) illumination, etc. (Default: -1)

irrcache - Irradiance caching integrator

Plugin name: irrcache
Class hierarchy: IrradianceCacheIntegrator extends SampleIntegrator
Description: Irradiance caching integrator - forwards all radiance computations to an arbitrary sampling-based sub-integrator - with one exception: whenever a Lambertian surface is intersected, an internal irradiance cache is queried for the indirect illumination at the surface position in question. If this query is successful, the sub-integrator is only used to compute the remaining types of radiance (direct, in-scatter, emission) and their sum is returned afterwards. When a query is unsuccessful, a new data point is generated by a final gathering step. The generality of this implementation allows it to be used in conjunction with photon mapping (the most likely application) as well as all other sampling-based integrators in ubiquaque. Several optimizations are used to improve the achieved interpolation quality, namely irradiance gradients [Ward et al.], neighbor clamping [Krivanek et al.], a screen-space clamping metric and an improved error function [Tabellion et al.]. By default, this integrator also performs a distributed overture pass before rendering, which is recommended to avoid artifacts resulting from the addition of samples as rendering proceeds.
integer
    resolution
Elevational resolution of the stratified final gather hemisphere. The azimuthal resolution is three times this value. Default: 14x(3*14)=588 samples (Default: 14)
boolean
    overture
If set to true, the irradiance cache will be filled by a parallel overture pass before the main rendering process starts. This is strongly recommended. (Default: true)
float
    quality
Quality setting (\kappa in the [Tabellion et al.] paper). A value of 1 should be adequate in most cases. (Default: 1)
float
    qualityFactor
Multiplicative factor for the quality parameter following an overture pass. This can be used to interpolate amongst more samples, creating a visually smoother result. Must be 1 or less. (Default: .5)
boolean
    debug
If set to true, sample locations will be visually highlighted (Default: false)
boolean
    gradients
Should irradiance gradients be used? Generally, this will significantly improve the interpolation quality. (Default: true)
boolean
    clampNeighbor
Should neighbor clamping [Krivanek et al.] be used? This propagates geometry information amongst close-by samples and generally leads to better sample placement. (Default: true)
boolean
    clampScreen
If set to true, the influence region of samples will be clamped using the screen-space metric by [Tabellion et al.]? Turning this off may lead to excessive sample placement. (Default: true)
float
    influenceMin
Minimum influence region of an irradiance sample (relative to scene size, in [0,1]) (Default: 0.005)
float
    influenceMax
Maximum influence region of an irradiance sample (default=64*min) (Default: 64 * influenceMin)
boolean
    direct
If set to false, direct illumination will be suppressed - useful for checking the interpolation quality (Default: true)
<!--Sample usage -->
<integrator type="irrcache">
   <!-- Single-bounce GI on diffuse surfaces, generate debug output -->
   <boolean name="debug" value="true"/>
   <boolean name="direct" value="false"/>

   <integrator type="direct"/>
</integrator>

errctrl - Error-controlling integrator

Plugin name: errctrl
Class hierarchy: DirectIntegrator extends SampleIntegrator
Description: Error-controlling integrator - runs a secondary integrator until the error of the computed radiance lies below a specifiable relative threshold (1% by default) with a certain probability (99% by default). Internally, it uses a Z-test to decide when to stop collecting samples. A sufficiently high number of samples is required to make this feasible. The CLT approximation generally holds well enough for n>64 (the default), but this may have to be adjusted depending on the scene. When used in conjunction with image reconstruction filters, this class takes care not to unduly bias neighboring image regions by the placement of many samples at a certain position.
float
    maxError
Maximum relative error threshold (Default: 0.01)
integer
    minSamples
Minimum numbers of samples (Should be large enough so that reliable variance estimates can be obtained) (Default: 64)
integer
    maxSamples
Absolute maximum number of samples to take. The sample collection will stop after this many samples even if the variance is still too high. A negative value will be interpreted as infinity. (Default: 2048)
float
    prob
Probability of mistakingly accepting a radiance estimate with higher error. (Default: 0.01)
boolean
    verbose
Display convergence statistics (Default: false)
<!--Sample usage -->
<integrator type="errctrl">
   <float name="maxError" value="0.001"/>
   <integrator type="path">
      <integer name="maxDepth" value="1024"/>
   </integrator>
</integrator>

direct - Direct-only integrator with multiple importance sampling

Plugin name: direct
Class hierarchy: MIDirectIntegrator extends SampleIntegrator
Description: Direct-only integrator using multiple importance sampling and the power heuristic. Takes a user-specifiable amount of luminaire and BSDF samples By setting one of the strategies to zero, this class can effectively be turned into a luminaire sampling or BSDF sampling-based integrator. Also handles absorption by participating media.
integer
    luminaireSamples
Number of samples to take using the luminaire sampling technique (Default: 1)
integer
    bsdfSamples
Number of samples to take using the BSDF sampling technique (Default: 1)
float
    beta
Beta coefficient for the power heuristic (Default: 2)

path - Path tracer with multiple importance sampling

Plugin name: path
Class hierarchy: MIPathTracer extends MonteCarloIntegrator
Description: MI Path tracer with support for volumetric absorption. Estimates the direct illumination component using both BSDF and luminaire sampling and combines the two using multiple importance sampling and the power heuristic. Afterwards, the BSDF sample is reused to recursively estimate the indirect component, which saves an intersection computation.
float
    beta
Beta coefficient for the power heuristic (Default: 2)

volpath - Volumetric path tracer with multiple importance sampling

Plugin name: volpath
Class hierarchy: VolumetricPathTracer extends MonteCarloIntegrator
Description: Volumetric path tracer, which solves the full radiative transfer equation in the presence of participating media. Estimates single scattering using both phase function and luminaire sampling and combines the two with multiple importance sampling and the power heuristic. Afterwards, the phase function sample is reused to recursively estimate the multiple scattering component, which saves an intersection computation. On surfaces, this integrator behaves exactly like the MI path tracer.
float
    beta
Beta coefficient for the power heuristic (Default: 2)

volpath_simple - Simple volumetric path tracer

Plugin name: volpath_simple
Class hierarchy: SimpleVolumetricPathTracer extends MonteCarloIntegrator
Description: Volumetric path tracer, which solves the full radiative transfer equation in the presence of participating media. Significantly simplified version without multiple importance sampling - this version can be much faster than the multiple importance sampling version when when rendering heterogeneous participating media using the [Coleman et al.] sampling technique, since fewer attenuation evaluations will be required.

ptracer - Adjoint particle tracer

Plugin name: ptracer
Class hierarchy: ParticleTracer extends ImageBasedIntegrator
Description: Particle tracer using an adjoint formulation -- meant primarily for verification purposes and test cases. This class follows appendix 4.A of Eric Veach's PhD thesis and computes the inner product between emitted radiance and incident importance at the light source (e.g. I = <Le, Wi>). The importance is recursively estimated using a Monte Carlo random walk and adjoint BSDFs are used for scattering events. Non-symmetric behavior due to the use of shading normals is handled correctly. For practical reasons, the integral is simultaneously computed for every pixel on the image plane. This is done similarly to path tracing with next event estimation (PTNEE) by tracing a shadow ray at every surface/volume interaction. An independent accumulation buffer will be assigned to every processor so that the rendering process can run in parallel. The importance distribution on the camera sensor is chosen to be equivalent to a perspective camera used in a traditional backward ray tracer with uniform sampling on the image plane. The number of samples is specified by the camera's sampler instance.
integer
    granularity
Granularity of the work units used in parallelizing the particle tracing task (default: 200K samples). Should be high enough so that sending and accumulating the partially exposed films is not the bottleneck. (Default: 200000)
boolean
    multipleScattering
Should the multiple scattering term be included? (Default: true)
integer
    rrDepth
Depth to start using russian roulette (Default: 10)
integer
    maxDepth
If set to a positive, value, the recursion will stop after this depth. A value of '1' will lead to one-bounce (direct-only) illumination, etc. (Default: -1)
<!--Sample usage -->
<scene>
   <integrator type="ptracer">
      <!-- Work on chunks of 1M particles, GI up to a depth of 100 -->
      <integer name="granularity" value="1000000"/>
      <integer name="maxDepth" value="100"/>
   </integrator>

   <!-- Luminaires, shapes go here ... -->

   <camera type="perspective">
      <float name="fov" value="45"/>
      <transform name="toWorld">
         <translate x="0" y="0" z="3.5"/>
      </transform>

      <!-- QMC: Use the Hammersley sequence to trace 100M particles -->
      <sampler type="hammersley">
         <integer name="sampleCount" value="100000000"/>
      </sampler>

      <!-- Generate a 768x768 EXR image -->
      <film type="exrfilm">
         <integer name="width" value="768"/>
         <integer name="height" value="768"/>
      </film>
   </camera>
</scene>

Subsurface (abstract) - Subsurface integrator base class

Class name: Subsurface
Description: Abstract subsurface integrator -- can be attached to a shape to compute exitant radiance due to internal scattering. By default, the parameters are set to the skim milk data from "A Practical Model for Subsurface scattering" (Jensen et al.)
spectrum
    sigmaS
Scattering coefficient (Default: 0.7, 1.22, 1.9)
spectrum
    sigmaT
Absorption coefficient (Default: 0.0014, 0.0025, 0.0142)
float
    eta
Refractive index of the object (Default: 1.3)
float
    sizeMultiplier
Scattering/absorption coefficient multiplier - can be used to convert these to world-space units. (Default: 1)

dipole - Dipole diffusion subsurface integrator

Plugin name: dipole
Class hierarchy: IsotropicDipole extends Subsurface
Description: Subsurface scattering integrator using Jensen's fast hierarchical dipole approximation scheme. ("A Rapid Hierarhical Rendering Technique for Translucent Materials" by Herik Wann Jensen and Juan Buhler, in SIGGRAPH 02)
integer
    maxDepth
Max. depth of the created octree (Default: 10)
float
    minDelta
Error threshold (Default: .1)
boolean
    requireSample
Should every triangle contain at least one sample? (Default: false)

Medium (abstract) - Base class of all participating media

Class name: Medium
Description: Base class of all participating media -- By default, the parameters are set to the skim milk data from "A Practical Model for Subsurface scattering" (Jensen et al.)
spectrum
    sigmaS
Scattering coefficient (Default: 0.7, 1.22, 1.9)
spectrum
    sigmaT
Absorption coefficient (Default: 0.0014, 0.0025, 0.0142)
float
    sizeMultiplier
Scattering/absorption coefficient multiplier - can be used to convert these to world-space units. (Default: 1)

homogeneous - Homogeneous participating medium

Plugin name: homogeneous
Class hierarchy: HomogeneousMedium extends Medium
Description: Homogeneous participating medium. An arbitrary (manifold) shape must be specified as a child object.

heterogeneous - Heterogeneous participating medium

Plugin name: heterogeneous
Class hierarchy: HeterogeneousMedium extends Medium
Description: Heterogeneous medium class using trilinear interpolation, Simpson quadrature and one of several possible sampling strategies. Data files have to be provided in an ASCII format as follows:
  • The first three numbers determine the X,Y and Z resolution, each of which has to be larger than 2.
  • The next six numbers determine the minimum X, Y and Z as well as the maximum X, Y and Z values of the enclosing axis-aligned bounding box.
  • Afterwards, (xres*yres*zres) density samples follow in XYZ order, (e.g. the second entry has coordinate x=2)
string
    filename
File containing sampled volume densities
string
    strategy
Specifies the used strategy - the four choices are:
  • standard: generate a 'desired' accumulated density by sampling an exponentially distributed random variable. Afterwards, try to find the distance, at which this much density has been accumulated. Here, the composite Simpson's rule is used to integrate density along the ray.
  • coleman: Sampling technique by [Coleman et al., 1967]. Only for media with a wavelength-independent extinction coefficient.
  • uniform: Naive variant for verification purposes: uniformly sample a distance along the ray segment, which intersects the volume
  • double: Double integral approach - stupid and slow, but it also works..
(Default: standard)
string
    stepSizeFactor
While integrating density along a ray, approximately one sample per voxel is taken - that number can be changed here (Default: standard)
float
    sigma
Can be used to override the extinction coefficient used to sample distances in the in-scatter line integral. By default, the smallest spectral sample of sigmaA+sigmaT is used. (Default: min(sigmaA+sigmaS))

isotropic - Isotropic phase function

Plugin name: isotropic
Class hierarchy: IsotropicPhaseFunction extends PhaseFunction
Description: Basic isotropic phase function

hg - Henyey-Greenstein phase function

Plugin name: hg
Class hierarchy: HGPhaseFunction extends PhaseFunction
Description: Phase function by Henyey and Greenstein (1941). Parameterizable from backward- through isotropic- to forward scattering.
float
    g
Asymmetry parameter of the Henyey-Greenstein phase function. Must lie in [-1, 1] where >0 is forward scattering and <0 is backward scattering. (Default: 0.8)

Luminaire (abstract) - Abstract luminaire

Class name: Luminaire
Description: Abstract implementation of a luminaire. Supports emission and shadow ray sampling and computes related probabilities.
transform
    toWorld
Affine luminaire space to world space transformation (Default: identity)

area - Lambertian area luminaire

Plugin name: area
Class hierarchy: AreaLuminaire extends Luminaire
Description: Lambertian area light source - can be attached to an arbitrary shape contained inside the scene. Shadow rays are generally sampled uniformly with respect to surface area, which may lead to high variance (e.g. many of the generated samples are facing away from the point to be shaded). When the shape in question is a sphere, rays are sampled uniformly wrt. solid angle, which significantly reduces the variance. Thus, spheres are recommended whenever there is some flexibility in choosing the luminaire shape.
spectrum
    intensity
Intensity of the luminaire (Default: 1)
<!--Sample usage -->
<shape type="obj">
   <string name="filename" value="meshes/luminaire_mesh.obj"/>

   <!-- Local to world coordinate transformation -->
   <transform name="toWorld">
      <translate x="0" y="-0.5" z="0"/>
   </transform>

   <!-- Diffuse area luminaire emitting black body radiation at 1500 Kelvin -->
   <luminaire type="area">
      <!-- Can alternatively be specified with the <rgb> or <spectrum> elements -->
      <blackbody name="intensity" temperature="1500"/>
   </luminaire>

   <!-- Black body - do not reflect any light -->
   <bsdf type="lambertian">
      <spectrum name="reflectance" value="0"/>
   </bsdf>
</shape>

collimated - Collimated beam luminaire

Plugin name: collimated
Class hierarchy: CollimatedBeamLuminaire extends Luminaire
Description: Collimated beam with a configurable thickness. Points from (0,0,0)->(0,0,1) by default - use the toWorld parameter to change this.
float
    radius
World-space beam radius (Default: 0.01)
spectrum
    intensity
Intensity of the luminaire. Specify only one of intensity and power. (Default: power/surfaceArea)
spectrum
    power
Power of the luminaire. Specify only one of intensity and power. (Default: 1)

point - Isotropic point source

Plugin name: point
Class hierarchy: PointLuminaire extends Luminaire
Description: Positioned at (0,0,0) by default - use the toWorld parameter to change this.
spectrum
    intensity
Intensity of the luminaire (Default: 1)

spot - VRML SpotLight-equivalent luminaire

Plugin name: spot
Class hierarchy: SpotLuminaire extends Luminaire
Description: In its local coordinate system, the spot light is positioned at the origin and points into the positive Z direction. Its intensity linearly ramps up between cutoffAngle and beamWidth, after which it remains at the maximum value.
spectrum
    intensity
Intensity of the luminaire (Default: 1)
float
    cutoffAngle
Cutoff angle in degrees (Default: 20)
float
    beamWidth
Beam width in degrees (Default: cutoffAngle * 3/4)
<!--Sample usage -->
<luminaire type="spot">
   <!-- Spot light placed at (0, -3, 2) pointing towards (1, 1, 4) -->
   <transform name="toWorld">
      <lookAt ox="0" oy="-3" oz="2" tx="1" ty="1" tz="4"/>
   </transform>
</luminaire>

constant - Constant background luminaire

Plugin name: constant
Class hierarchy: ConstantLuminaire extends Luminaire
Description: Simulates a diffuse, infinitely far-away emitter
spectrum
    intensity
Intensity of the luminaire (Default: 1)

envmap - Environment map luminaire

Plugin name: envmap
Class hierarchy: EnvMapLuminaire extends Luminaire
Description: Basic environment map implementation without importance sampling. Uses the scene's bounding sphere to simulate an infinitely far-away light source. Expects an EXR image in latitude-longitude (equirectangular) format.
spectrum
    intensity
Intensity of the luminaire (Default: 1)
<!--Sample usage -->
<luminaire type="envmap">
   <!-- Load Paul Debevec's Pisa environment map -->
   <string name="filename" value="pisa.exr"/>

   <!-- Apply a rotation to the environment map -->
   <transform name="toWorld">
      <rotate x="0" y="1" z="0" angle="45"/>
   </transform>
</luminaire>

Camera (abstract) - Camera base class

Class name: Camera
Description: A camera turns a sample on the image plane into a 3D ray. For this, it requires two supporting objects: a Sampler and a Film instance.
transform
    toWorld
Affine camera space to world space transformation (Default: identity)

PinholeCamera (abstract) - Pinhole camera base class

Class hierarchy: PinholeCamera extends Camera
Description: Provides solid angle computation routines useful for importance-based integrators.
float
    fov
Field of view of the camera (in degrees) (Default: 90)
boolean
    mapSmallerSide
Specifies which side of the image plane should cover the field of view specified in the fov parameter (Default: true)

perspective - Perspective camera model

Plugin name: perspective
Class hierarchy: PerspectiveCamera extends PinholeCamera
Description: Depth of field can optionally be activated by specifying both focal distance and lens radius (uses a thin lens approximation)
float
    focalDistance
Distance to the focal plane (Default: 0)
float
    lensRadius
World-space lens radius (Default: 0)
float
    nearClip
Near clipping plane distance (Default: 1e-2)
float
    farClip
Far clipping plane distance (Default: 1e4)
<!--Sample usage -->
<camera type="perspective">
   <float name="fov" value="45"/>
   <transform name="toWorld">
      <translate x="0" y="0" z="3.5"/>
   </transform>

   <!-- 3x3=9 stratified samples per pixel -->
   <sampler type="stratified">
      <integer name="resolution" value="3"/>
   </sampler>

   <!-- Generate a 768x768 EXR image -->
   <film type="exrfilm">
      <integer name="width" value="768"/>
      <integer name="height" value="768"/>

      <!-- 4x4 Mitchell-Netravali reconstruction filter -->
      <rfilter type="mitchell"/>
   </film>
</camera>

orthographic - Orthographic camera model

Plugin name: orthographic
Class hierarchy: OrthographicCamera extends Camera
Description: Simple orthographic camera model
float
    nearClip
Near clipping plane distance (Default: 1e-2)
float
    farClip
Far clipping plane distance (Default: 1e4)
boolean
    mapSmallerSide
Specifies which side of the image plane maps to normalized device coordinates in [0,1] (Default: true)

Film (abstract) - Abstract Film base class

Class name: Film
Description: Used to store samples generated by an Integrator.
integer
    width
Horizontal sensor resolution in pixels (Default: 512)
integer
    height
Vertical sensor resolution in pixels (Default: 512)
integer
    cropOffsetX
Horizontal pixel position of the crop window relative to the upper left corner (Default: 0)
integer
    cropOffsetY
Vertical pixel position of the crop window relative to the upper left corner (Default: 0)
integer
    cropWidth
Width of the crop window in pixels (Default: width)
integer
    cropWeight
Height of the crop window in pixels (Default: height)
boolean
    highQualityEdges
If set to true, regions slightly outside of the film plane will also be sampled, which improves the image quality at the edges especially with large reconstruction filters. (Default: false)

exrfilm - EXR high dynamic-range film

Plugin name: exrfilm
Class hierarchy: EXRFilm extends Film
Description: Simple film implementation, which stores the captured image as an RGBA-based high dynamic-range EXR file. No gamma correction is applied and spectral radiance values are converted to linear RGB using the CIE 1931 XYZ color matching functions and ITU-R Rec. BT.709
boolean
    alpha
Should an alpha channel be added to the output image? (Default: true)
boolean
    banner
Should a program logo be added to the output image? (Default: true)

pngfilm - PNG low dynamic-range film

Plugin name: pngfilm
Class hierarchy: PNGFilm extends Film
Description: Simple film implementation, which stores the captured image as an RGBA-based low dynamic-range PNG file with gamma correction. Spectral radiance values are converted to linear RGB using the CIE 1931 XYZ color matching functions and ITU-R Rec. BT.709
boolean
    alpha
Should an alpha channel be added to the output image? (Default: true)
integer
    bpp
Bits per pixel including alpha (must be 8, 16, 24 or 32) (Default: 24/32, dep. on alpha)
float
    gamma
Gamma value for the correction. Negative values switch to sRGB (Default: -1)

mfilm - MATLAB film

Plugin name: mfilm
Class hierarchy: MFilm extends Film
Description: Debugging film, which dumps raw luminance values as a 2D array in MATLAB M-file format. When test case mode is active, the film writes a triple (luminance, variance, sample count) for every pixel.
boolean
    spectra
Should all spectral samples be exported? In this case, each pixel will generate several numbers (matching the configured discretization of the color spectrum). By default, ubiquaque exports the luminances found using the CIE XYZ color matching curves. (Default: false)

box - Box filter

Plugin name: box
Class hierarchy: BoxFilter extends ReconstructionFilter
Description: Box filter -- fastest, but prone to aliasing.

gaussian - Windowed Gaussian filter

Plugin name: gaussian
Class hierarchy: GaussianFilter extends ReconstructionFilter
Description: Windowed Gaussian filter with configurable extent and standard deviation. Often produces pleasing results, but may introduce too much blurring. This is the default filter if none is specified.
float
    halfSize
Half filter size in pixels (Default: 2)
float
    stddev
Standard deviation of the Gaussian (Default: .5)

wsinc - Windowed sinc filter

Plugin name: wsinc
Class hierarchy: WindowedSincFilter extends ReconstructionFilter
Description: Windowed version of the ideal low-pass filter (with a Lanczos envelope) -- may produce ringing artifacts near sharp edges.
float
    halfSize
Half filter size in pixels (Default: 3)
float
    cycles
Number of cycles, after which the sinc function should be truncated (Default: .5)

mitchell - Mitchell-Netravali filter

Plugin name: mitchell
Class hierarchy: MitchellNetravaliFilter extends ReconstructionFilter
Description: Separable reconstruction filter by Mitchell and Netravali. D. Mitchell, A. Netravali, Reconstruction filters for computer graphics, Proceedings of SIGGRAPH 88, Computer Graphics 22(4), pp. 221-228, 1988.
float
    halfSize
Half filter size in pixels (Default: 2)
float
    B
B parameter from the paper (Default: 1/3)
float
    C
C parameter from the paper (Default: 1/3)
<!--Sample usage -->
<film type="exrfilm">
   <integer name="width" value="512"/>
   <integer name="height" value="512"/>
   <rfilter type="mitchell">
      <float name="halfSize" value="2"/>
   </rfilter>
</film>

catmullrom - Catmull-Rom filter

Plugin name: catmullrom
Class hierarchy: CatmullRomFilter extends ReconstrutionFilter
Description: Mitchell-Netravali filter configured with constants B and C so that it matches the Catmull-Rom spline. Usually does a better job at at preserving sharp features.
float
    halfSize
Half filter size in pixels (Default: 2)

independent - Independent sample generator

Plugin name: independent
Class hierarchy: IndependentSampler extends Sampler
Description: Independent sample generator - returns independent uniformly distributed random numbers on [0,1) and [0, 1)x[0, 1).
integer
    sampleCount
Number of generated samples / samples per pixel. (Default: 1)

stratified - Stratified sample generator

Plugin name: stratified
Class hierarchy: StratifiedSampler extends Sampler
Description: Stratified sample generator. Given a resolution R and a depth D, it generates R*R samples, each of which can be queried for up to D 1- or 2-dimensional vectors by an integrator. The returned 1D/2D-vectors of a particular depth have the property of being stratified over all R*R samples. When the maximum depth is exceeded, independent sampling takes over.
integer
    resolution
Stratification resolution of the sample space. The default results in 2x2=4 samples per pixel (Default: 2)
integer
    depth
Depth, up to which which stratified samples are guaranteed to be available. (Default: 3)

ldsampler - Low discrepancy sampler

Plugin name: ldsampler
Class hierarchy: LowDiscrepancySampler extends Sampler
Description: Adapted version of the low discrepancy sampler in PBRT. Provides samples up to a specified depth, after which independent sampling takes over.
integer
    sampleCount
Number of generated samples / samples per pixel (Default: 4)
integer
    depth
Depth, up to which which low discrepancy samples are guaranteed to be available. (Default: 3)

halton - Halton sequence sample generator

Plugin name: halton
Class hierarchy: HaltonSequence extends Sampler
Description: Deterministic 2D sample generator based on the Halton sequence. Internally uses a table of prime numbers to provide elements of the sequence up to a depth of 1000. Because of the high correlation amongst neighboring pixels, this sampler, by itself, is not meant to be used as a source of random numbers for sample-based integrators such as direct, volpath etc.
integer
    sampleCount
Number of generated samples / samples per pixel (Default: 1)

hammersley - Hammersley sequence sample generator

Plugin name: hammersley
Class hierarchy: HammersleySequence extends Sampler
Description: Deterministic 2D sample generator based on the Hammersley sequence. Internally uses a table of prime numbers to provide elements of the sequence up to a depth of 1000. Because of the high correlation amongst neighboring pixels, this sampler, by itself, is not meant to be used as a source of random numbers for sample-based integrators such as direct, volpath etc.
integer
    sampleCount
Number of generated samples / samples per pixel (Default: 1)

ubiquaque [lat: everywhere] is a physically based renderer written in portable C++. It implements unbiased as well as biased rendering techniques and contains heavy optimizations targeted towards current processor architectures.