eradiate.scenes.bsdfs.OpacityMaskBSDF#

class eradiate.scenes.bsdfs.OpacityMaskBSDF(id=None, nested_bsdf=NOTHING, *, opacity_bitmap, uv_trafo)[source]#

Bases: BSDF

Opacity Mask BSDF [opacity_mask]

Parameters:
  • id (str, optional) – Identifier of the current scene element.

  • opacity_bitmap (array-like or mitsuba.Bitmap) – Mitsuba bitmap that specifies the opacity of the nested BSDF plugin. This parameter has no default and is required.

  • uv_trafo (array-like or mitsuba.ScalarTransform4f) – Transform to scale the opacity mask. This parameter has no default and is required.

  • nested_bsdf (BSDF or dict, optional, default: LambertianBSDF()) – The reflection model attached to the surface.

Fields:
  • id (str or None) – Identifier of the current scene element.

  • opacity_bitmap (mitsuba.Bitmap) – Mitsuba bitmap that specifies the opacity of the nested BSDF plugin.

  • uv_trafo (mitsuba.ScalarTransform4f) – Transform to scale the opacity mask.

  • nested_bsdf (BSDF) – The reflection model attached to the surface.

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] or None – A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.

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 the mitsuba.load_dict() function, or InitParameter instances which must be rendered.