eradiate.scenes.integrators.PathIntegrator#

class eradiate.scenes.integrators.PathIntegrator(id='integrator', timeout=None, max_depth=None, rr_depth=None, hide_emitters=None)[source]#

Bases: MonteCarloIntegrator

A thin interface to the path tracer kernel plugin.

This integrator samples paths using random walks starting from the sensor. It supports multiple scattering and does not account 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).

  • 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).

  • 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.