eradiate.scenes.bsdfs.RPVBSDF#
- class eradiate.scenes.bsdfs.RPVBSDF(id=None, rho_0=0.183, rho_c=None, k=0.78, g=-0.1)[source]#
Bases:
BSDF
RPV BSDF [
rpv
].This BSDF implements the Rahman-Pinty-Verstraete (RPV) reflection model [Pinty et al., 2000, Rahman et al., 1993]. It notably features a controllable back-scattering lobe (hot spot) characteristic of many natural land surfaces and is frequently used in Earth observation because of its simple parametrisation.
- Parameters:
id (
str
, optional) – Identifier of the current scene element.rho_0 (
Spectrum
ordict
orfloat
, optional, default:0.183
) – Amplitude parameter. Must be dimensionless. Should be in \([0, 1]\).rho_c (
Spectrum
ordict
orfloat
orNone
, optional, default:None
) – Hot spot parameter. Must be dimensionless. Should be in \([0, 1]\). If unset, \(\rho_\mathrm{c}\) defaults to the kernel plugin default (equal to \(\rho_0\)).k (
Spectrum
ordict
orfloat
, optional, default:0.780
) – Bowl-shape parameter. Must be dimensionless. Should be in \([0, 2]\).g (
Spectrum
ordict
orfloat
, optional, default:-0.1
) – Asymmetry parameter. Must be dimensionless. Should be in \([-1, 1]\).
- Fields:
Notes
The default configuration is typical of grassland in the visible domain ([Rahman et al., 1993], Table 1).
Parameter names are defined as per the symbols used in the Eradiate Scientific Handbook [Team, 2020].
- 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