eradiate.kernel.UpdateParameter#

class eradiate.kernel.UpdateParameter(evaluator, flags=Flags.ALL, lookup_strategy=None, parameter_id=None)[source]#

Bases: object

This class declares an Eradiate parameter in a Mitsuba scene parameter update map. It holds an evaluation protocol depending on context information.

Parameters:
  • evaluator (callable()) – A callable that returns the value of the parameter for a given context, with signature f(ctx: KernelContext) -> Any.

  • flags (Flags, default: Flags.ALL) – Flags specifying parameter attributes. By default, the declared parameter will pass all filters.

  • lookup_strategy (callable(), optional, default: None) – A callable that searches a Mitsuba scene tree node for a desired parameter ID: with signature f(node: mi.Object, node_relpath: str) -> Optional[str].

  • parameter_id (str, optional) – The full ID of the Mitsuba scene parameter to update.

Fields:
  • evaluator (callable()) – A callable that returns the value of the parameter for a given context, with signature f(ctx: KernelContext) -> Any.

  • flags (Flags) – Flags specifying parameter attributes.

  • lookup_strategy (callable() or None) – A callable that searches a Mitsuba scene tree node for a desired parameter ID: with signature f(node: mi.Object, node_relpath: str) -> Optional[str].

  • parameter_id (str or None) – The full ID of the Mitsuba scene parameter to update.

class Flags(value)[source]#

Bases: Flag

Update parameter flags.

GEOMETRIC = 2#

Triggers a scene rebuild

SPECTRAL = 1#

Varies during the spectral loop

UNUSED = <object object>#

Sentinel value indicating that a parameter is not used