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

Bases: CompositeSceneElement, ABC

An abstract base class defining common facilities for all surfaces.

All scene elements deriving from this interface are composite and cannot be turned into a kernel scene instance on their own: they must be owned by a container which take care of expanding them.


id (str, optional, default: "surface") – Identifier of the current scene element.


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


  • This class is to be used as a mixin.


Traverse this scene element and collect kernel dictionary template and parameter update map contributions.


callback (SceneTraversal) – Callback data structure storing the collected data.


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.


dict – A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.

property params#

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.


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.