Integrators¶
The Eradiate kernel provides volumetric path tracing integrators that extend
Mitsuba’s volpath to address Earth observation use cases:
piecewise_volpath— handles piecewise-homogeneous plane-parallel atmospheres with a fast regular tracking algorithm.eovolpath— a full-featured Earth observation volumetric path tracer. It extendsvolpathwith EO-specific variance reduction methods and tracking estimators.Added in version 0.5.0.
Piecewise volumetric path tracer (volpath)¶
Parameter |
Type |
Description |
Flags |
|---|---|---|---|
max_depth |
integer |
Specifies the longest path depth in the generated output image (where -1 corresponds to \(\infty\)). A value of 1 will only render directly visible light sources. 2 will lead to single-bounce (direct-only) illumination, and so on. Default: -1 |
— |
rr_depth |
integer |
Specifies the minimum path depth, after which the implementation will start to use the russian roulette path termination criterion. Default: 5 |
— |
hide_emitters |
boolean |
Hide directly visible emitters. Default: false |
— |
This plugin provides a piecewise volumetric path tracer that can be used to compute approximate solutions of the radiative transfer equation for plane parallel geometry. Its implementation makes use of multiple importance sampling to combine BSDF and phase function sampling with direct illumination sampling strategies. On surfaces, it behaves exactly like the standard path tracer.
This integrator only works with piecewise media. It uses assumptions on the medium’s geometry to accelerate the sampling and transmission calculations.
This integrator has special support for index-matched transmission events (i.e. surface scattering events that do not change the direction of light). As a consequence, participating media enclosed by a stencil shape are rendered considerably more efficiently when this shape has a null or thin dielectric BSDF assigned to it (as compared to, say, a dielectric or roughdielectric BSDF).
Note
This integrator does not implement good sampling strategies to render participating media with a spectrally varying extinction coefficient. For these cases, it is better to use the more advanced volumetric path tracer with spectral MIS, which will produce in a significantly less noisy rendered image.
Warning
This integrator does not support forward-mode differentiation.
EO Volumetric path tracer (eovolpath)¶
Parameter |
Type |
Description |
Flags |
|---|---|---|---|
max_depth |
integer |
Specifies the longest path depth in the generated output image (where -1 corresponds to \(\infty\)). A value of 1 will only render directly visible light sources. 2 will lead to single-bounce (direct-only) illumination, and so on. Default: -1 |
|
rr_depth |
integer |
Specifies the minimum path depth, after which the implementation will start to use the russian roulette path termination criterion. Default: 5 |
|
rr_factor |
float |
Specifies the maximum probability to keep a path when russian roulette is evaluated. Default: 0.97 |
|
ddis_threshold |
float |
Specifies the probability to importance sample the phase using the emitter as incident direction. Set to a negative value to disable. Default: 0.1 |
|
hide_emitters |
boolean |
Hide directly visible emitters. Default: no, i.e. false |
This plugin provides a volumetric path tracer catered towards Earth Observation simulations that can be used to compute approximate solutions of the radiative transfer equation. Its implementation makes use of multiple importance sampling to combine BSDF and phase function sampling with direct illumination sampling strategies. On surfaces, it behaves exactly like the standard path tracer.
This integrator has special support for index-matched transmission events (i.e. surface scattering events that do not change the direction of light). As a consequence, participating media enclosed by a stencil shape are rendered considerably more efficiently when this shape has a null or thin dielectric BSDF assigned to it (as compared to, say, a dielectric or roughdielectric BSDF).
In addition, it implements the DDIS variance reduction method [BM11] which reduces noise in the presence of strongly peaked phase functions.
Note
This integrator does not implement good sampling strategies to render participating media with a spectrally varying extinction coefficient. For these cases, it is better to use the more advanced volumetric path tracer with spectral MIS, which will produce in a significantly less noisy rendered image. Note however that it does not implement the EO features added in this integrator.
Warning
This integrator does not support forward-mode differentiation.
Stokes-moment integrator (stokes_moment)¶
Parameter |
Type |
Description |
Flags |
|---|---|---|---|
use_stokes |
boolean |
Enable Stokes vector AOVs. Requires a polarized rendering mode. Default: false. |
|
use_moment |
boolean |
Enable second-moment AOVs for variance estimation. Default: false. |
|
meridian_align |
boolean |
When use_stokes is true, align the Stokes vector to the meridian plane instead of the sensor’s x-axis. Default: false. |
|
(Nested plugin) |
integrator |
Sub-integrator (exactly one must be specified) which will be sampled along the integrator. |
This integrator combines the stokes and moment integrators into a single plugin, resolving the issue that stokes cannot be nested inside moment (the sensor pointer would not be set correctly). Enable either or both modes via use_stokes and use_moment.
AOV layout mirrors the behaviour of the integrators it combines. When both modes are active, the layout is (N = child AOV count):
[0..11] name.S0.R name.S0.G name.S0.B name.S1.R ... name.S3.B
[12..12+N-1] child AOVs
[12+N..12+N+2] name.X name.Y name.Z
[12+N+3..2*(12+N+3)-1] m2_ mirror of all preceding channels
This plugins departs from the stokes integrator by prepending the nested integrator name to the stokes AOV names.