eradiate.scenes.surface.Surface#

class eradiate.scenes.surface.Surface(id='surface')[source]#

Bases: eradiate.scenes.core.SceneElement, abc.ABC

An abstract base class defining common facilities for all surfaces.

Parameters

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

Fields

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

abstract kernel_bsdfs(ctx)[source]#

Return BSDF plugin specifications.

Parameters

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

Returns

KernelDict – A kernel dictionary containing all the BSDFs attached to the surface.

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.

abstract kernel_shapes(ctx)[source]#

Return shape plugin specifications.

Parameters

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

Returns

KernelDict – A kernel dictionary containing all the shapes attached to the surface.