eradiate.scenes.bsdfs.OceanMishchenkoBSDF#

class eradiate.scenes.bsdfs.OceanMishchenkoBSDF(id=None, wind_speed=NOTHING, eta=1.33, k=0.0, ext_ior=1.0, shadowing=True)[source]#

Bases: BSDF

Ocean Mishchenko BSDF [ocean_mishchenko].

This plugin implements the polarized ocean surface model as implemented by Mishchenko and Travis [1997]. This model treats the ocean as an opaque surface and models the polarized sunglint. It depends on wind speed and the index of refraction of the water and external medium (assumed to be air).

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

  • wind_speed (quantity or float, default: 0.01 m/s) – Wind speed [m/s] at 10 meters above the surface.

  • eta (Spectrum or dict or float, default: 1.33) – Real component of the water’s index of refraction processed by spectrum_factory.

  • k (Spectrum or dict or float, default: 0.) – Imaginary component of the water’s index of refraction processed by spectrum_factory.

  • ext_ior (Spectrum or dict or float, default: 1.000277f) – Real component of the air’s index of refraction processed by spectrum_factory. The imaginary component is assumed to be zero.

  • shadowing (bool, default: True) – Indicates whether evaluation of BRDF computes shadowing and masking.

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

  • wind_speed (quantity) – Wind speed [m/s] at 10 meters above the surface.

  • eta (Spectrum) – Real component of the water’s index of refraction processed by spectrum_factory.

  • k (Spectrum) – Imaginary component of the water’s index of refraction processed by spectrum_factory.

  • ext_ior (Spectrum) – Real component of the air’s index of refraction processed by spectrum_factory.

  • shadowing (bool) – Indicates whether evaluation of BRDF computes shadowing and masking.

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.