eradiate.scenes.bsdfs.OceanGraspBSDF#
- class eradiate.scenes.bsdfs.OceanGraspBSDF(id=None, wind_speed=NOTHING, eta=1.33, k=0.0, ext_ior=1.0, water_body_reflectance=0.0)[source]#
Bases:
BSDF
Ocean GRASP BSDF [
ocean_grasp
].This plugin implements the polarized ocean surface model as implemented by Litvinov et al. [2024]. This model treats the ocean as an opaque surface and models the polarized sunglint, whitecap reflectance and underlight reflectance. 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
orfloat
, default:0.01 m/s
) – Wind speed [m/s] at 10 meters above the surface.eta (
Spectrum
ordict
orfloat
, default:1.33
) – Real component of the water’s index of refraction processed byspectrum_factory
.k (
Spectrum
ordict
orfloat
, default:0.0
) – Imaginary component of the water’s index of refraction processed byspectrum_factory
.ext_ior (
Spectrum
ordict
orfloat
, default:1.000277
) – Real component of the air’s index of refraction processed byspectrum_factory
. The imaginary component is assumed to be zero.water_body_reflectance (
Spectrum
ordict
orfloat
, default:0.0
) – Diffuse reflectance of radiations that underwent one or more scattering events within the water body.
- Fields:
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 byspectrum_factory
.k (
Spectrum
) – Imaginary component of the water’s index of refraction processed byspectrum_factory
.ext_ior (
Spectrum
) – Real component of the air’s index of refraction processed byspectrum_factory
.water_body_reflectance (
Spectrum
) – Diffuse reflectance of radiations that underwent one or more scattering events within the water body.
- 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
] orNone
– A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.
See also
- 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 themitsuba.load_dict()
function, orInitParameter
instances which must be rendered.
See also