Iray Programmer's Manual

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.