Overview of the scene database elements
Following is a list of the Scene Database Interfaces and links to detailed information about these interfaces:
-
The scene graph structure, which consists of classes such as:
- mi::IInstance: A scene element that adds a transformation and attributes to another scene element. Every instance references exactly one scene element.
- mi::IGroup: A container for other scene elements. Typically used to structure scene elements.
-
Leaf nodes, which consists of classes such as:
- mi::ICamera: The viewpoint from which the scene is rendered. The camera points down the negative z-axis.
- mi::ILight: A light source such as a spot, a directional, or an area light. A light points down the negative z-axis.
- mi::IOptions: Scene-specific settings stored as a scene element. Settings are typically exposed as attributes.
- mi::ITriangle_mesh: A triangle mesh, which is a type of polygon mesh. Incremental construction of triangle meshes is supported.
- mi::IPolygon_mesh: A polygon mesh, which defines the shape of a polyhedral object. Incremental construction of polygon meshes is supported.
- mi::ISubdivision_surface: A subdivision surface, which is a smooth surface represented by a coarse control mesh.
- mi::IFreeform_surface: A freeform surface, which is used to represent objects from smooth patches with (optional) trimming curves. Typically, a freeform surface object consists of several surfaces.
- mi::IOn_demand_mesh: An on-demand mesh, which describes a triangle mesh in a much simpler format and is provided on a user-specified callback. Often, this data is only needed temporarily.
-
Materials (MDL), which consists of classes such as:
- mi::IMdl_function_call: A function call, which is an instance of a formal function definition with a fixed set of arguments.
- mi::IMdl_material_instance: A material instance, which is a concrete instance of a formal material definition with a fixed set of arguments.
-
Miscellaneous, which consists of classes such as:
- mi::IAttribute_container: A container that stores attributes only.
- mi::IBsdf_measurement: A scene element that stores measured BSDF data. A BSDF measurement typically appears in a scene as an argument of an MDL material instance.
- mi::IDecal: A decal, which is a sticker-like object that can be applied to other geometry objects.
- mi::IImage: A pixel image file, which supports different pixel types.
- mi::IIrradiance_probes: An irradiance probe, which is used to render the irradiance at certain locations in a scene.
- mi::ILightprofile: A light profile, which is a digital profile of a real world light. It typically appears in a scene as an argument of an MDL material instance.
- mi::ITexture: A texture, which adds image processing options to images. It typically appears in a scene as an argument of an MDL function call or MDL material instance.