eradiate.scenes.phase.RayleighPhaseFunction#
- class eradiate.scenes.phase.RayleighPhaseFunction(id='phase', geometry=None, *, depolarization=NOTHING)[source]#
Bases:
PhaseFunction
Rayleigh phase function [
rayleigh
].The Rayleigh phase function models scattering by particles with a characteristic size much smaller than the considered radiation wavelength. It is typically used to represent scattering by gas molecules in the atmosphere.
- Parameters:
id (
str
, optional, default:"phase"
) – Identifier of the current scene element.depolarization (array-like,
callable()
, orNone
) – The ratio of intensities parallel and perpendicular to the plane of scattering for light scattered at 90 deg. Only relevant when using a polarization mode.geometry (
SceneGeometry
ordict
orstr
, optional, default:None
) – Parameters defining the basic geometry of the scene. If unset, the volume textures defining component weights will be assigned defaults likely unsuitable for atmosphere construction.
- Fields:
depolarization (
ndarray
,callable()
orNone
) – The ratio of intensities parallel and perpendicular to the plane of scattering for light scattered at 90 deg.geometry (
SceneGeometry
orNone
) – Parameters defining the basic geometry of the scene.
- eval_depolarization_factor(si)[source]#
Evaluate the depolarization factor.
- Parameters:
si (
SpectralIndex
) – Spectral context.- Returns:
Depolarization factor as an array
ofshape (N) where N can
either be 1
orthe number
oflayers
ofthe atmosphere's vertical
axis.
- 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