eradiate.scenes.bsdfs.LambertianBSDF#

class eradiate.scenes.bsdfs.LambertianBSDF(id='bsdf', reflectance=0.5)[source]#

Bases: eradiate.scenes.bsdfs._core.BSDF

Lambertian BSDF [lambertian].

This class implements the Lambertian (a.k.a. diffuse) reflectance model. A surface with this scattering model attached scatters radiation equally in every direction.

Parameters
  • id (str, optional, default: "bsdf") – User-defined object identifier.

  • reflectance (Spectrum or dict or float, default: 0.5) – Reflectance spectrum. Can be initialised with a dictionary processed by spectrum_factory.

Fields
  • id (str or None) – User-defined object identifier.

  • reflectance (Spectrum) – Reflectance spectrum.

Notes

This is a thin wrapper around the diffuse kernel plugin.

kernel_dict(ctx)[source]#

Return a dictionary suitable for kernel scene configuration.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

KernelDict – Kernel dictionary which can be loaded as a Mitsuba object.