eradiate.scenes.integrators.VolPathIntegrator#

class eradiate.scenes.integrators.VolPathIntegrator(id='integrator', timeout=None, moment=False, stokes=False, meridian_align=True, max_depth=None, rr_depth=None, hide_emitters=None)[source]#

Bases: MonteCarloIntegrator

A thin interface to the volumetric path tracer kernel plugin.

This integrator samples paths using random walks starting from the sensor. It supports multiple scattering and accounts for volume interactions.

Parameters:
  • id (str, optional, default: "integrator") – Identifier of the current scene element.

  • timeout (float, optional, default: None) – Maximum amount of time to spend during a kernel render pass in second (excluding scene parsing).

  • moment (bool, optional, default: False) – If true, calculates the variance of the output film

  • stokes (bool, optional, default: False) – If `True`, calculates and outputs the polarized components ofthe Stokes vector. Note that this will only work with a polarizedmode and a sensor that measures radiance.

  • meridian_align (bool, optional, default: True) – If `True`, align the Stokes vector to the meridian plane. Otherwisedefault to aligning to the sensor’s x-axis. This parameter is onlyrelevant in polarized mode, when measuring radiance with stokes=True.

  • max_depth (int, optional) – Longest path depth in the generated measure data (where -1 corresponds to ∞). A value of 1 will display only visible emitters. 2 computes only direct illumination (no multiple scattering), etc. If unset, the kernel default value (-1) is used.

  • rr_depth (int, optional) – Minimum path depth after which the implementation starts applying the Russian roulette path termination criterion. If unset, the kernel default value (5) is used.

  • hide_emitters (bool, optional) – Hide directly visible emitters. If unset, the kernel default value (false) is used.

Fields:
  • id (str or None) – Identifier of the current scene element.

  • timeout (float or None) – Maximum amount of time to spend during a kernel render pass in second (excluding scene parsing).

  • moment (bool) – If true, calculates the variance of the output film.

  • stokes (bool) – If `True`, calculates and outputs the polarized components ofthe Stokes vector.

  • meridian_align (bool) – If `True`, align the Stokes vector to the meridian plane.

  • max_depth (int or None) – Longest path depth in the generated measure data (where -1 corresponds to ∞).

  • rr_depth (int or None) – Minimum path depth after which the implementation starts applying the Russian roulette path termination criterion.

  • hide_emitters (bool or None) – Hide directly visible emitters.

traverse(callback)#

Traverse this scene element and collect kernel dictionary template and parameter update map contributions.

Parameters:

callback (SceneTraversal) – Callback data structure storing the collected data.

update()#

Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.

property objects#

Map of child objects associated with this scene element.

Returns:

dict – A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.

property params#
Returns:

dict[str, UpdateParameter] or None – A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.

property template#

Kernel dictionary template contents associated with this scene element.

Returns:

dict – A flat dictionary mapping dot-separated strings describing the path of an item in the nested scene dictionary to values. Values may be objects which can be directly used by the mitsuba.load_dict() function, or InitParameter instances which must be rendered.