eradiate.scenes.phase.BlendPhaseFunction#
- class eradiate.scenes.phase.BlendPhaseFunction(id='phase', geometry=None, *, components, weights)[source]#
Bases:
PhaseFunction
Blended phase function [
blend_phase
].This phase function aggregates two or more sub-phase functions (components) and blends them based on its weights parameter. Weights are usually based on the associated medium’s scattering coefficient.
- eval_conditional_weights(si, n_component=None)[source]#
Evaluate the conditional weights of specified Mitsuba phase function components.
- Parameters:
si (
SpectralIndex
) – Spectral context.n_component (
int
orlist
ofint
, optional) – The index of the Mitsuba phase function component for which the conditional weight should be evaluated. IfNone
, the conditional weights of all components will be evaluated.
- Returns:
ndarray
– Conditional weights of the specified components as an array of shape (N, M) where n is the number of components and m the number of cells along the 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()[source]#
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