neuray API Programmer's Manual

MDL-related elements

[Scene elements]

Description

MDL-related elements comprise a set of interfaces related to the Material Definition Language (MDL). See [MDLTI] for a technical introduction into the Material Definition Language and [MDLLS] for the language specification. See also MDL type system.

The unit of compilation in MDL is a module. Importing an MDL module creates an instance of mi::neuraylib::IModule in the DB. A module allows to retrieve the referenced (aka imported) modules, as well as the exported material and function definitions. For all exported definitions, DB elements of type mi::neuraylib::IFunction_definition are created in the DB accordingly. Both, material and function definitions can be instantiated. Those instantiations are represented by the interface mi::neuraylib::IFunction_call.

Classes

class 
A wrapper around the interfaces for MDL annotations. More...
class 
A wrapper around the interface for MDL material instances and function calls. More...
class 
A wrapper around the interface for MDL function definitions. More...
class 
This interface represents a compiled material. More...
class 
This interface represents a function call. More...
class 
This interface represents a function definition. More...
class 
This interface represents a material instance. More...
class 
This interface represents an MDL module. More...

Enumerations

enum mi::neuraylib::Material_opacity{ OPACITY_OPAQUE, OPACITY_TRANSPARENT, OPACITY_UNKNOWN, OPACITY_FORCE_32_BIT = 0xffffffffU}
The compiled material's opacity. More...
enum mi::neuraylib::Material_slot{ SLOT_THIN_WALLED, SLOT_SURFACE_SCATTERING, SLOT_SURFACE_EMISSION_EDF_EMISSION, SLOT_SURFACE_EMISSION_INTENSITY, SLOT_SURFACE_EMISSION_MODE, SLOT_BACKFACE_SCATTERING, SLOT_BACKFACE_EMISSION_EDF_EMISSION, SLOT_BACKFACE_EMISSION_INTENSITY, SLOT_BACKFACE_EMISSION_MODE, SLOT_IOR, SLOT_VOLUME_SCATTERING, SLOT_VOLUME_ABSORPTION_COEFFICIENT, SLOT_VOLUME_SCATTERING_COEFFICIENT, SLOT_VOLUME_EMISSION_INTENSITY, SLOT_GEOMETRY_DISPLACEMENT, SLOT_GEOMETRY_CUTOUT_OPACITY, SLOT_GEOMETRY_NORMAL, SLOT_HAIR, SLOT_FIRST = SLOT_THIN_WALLED, SLOT_LAST = SLOT_HAIR, SLOT_FORCE_32_BIT = 0xffffffffU}
Material slots identify parts of a compiled material. More...
enum mi::neuraylib::Mdl_repair_options{ MDL_REPAIR_DEFAULT = 0, MDL_REMOVE_INVALID_ARGUMENTS = 1, MDL_REPAIR_INVALID_ARGUMENTS = 2, MDL_REPAIR_OPTIONS_FORCE_32_BIT = 0xffffffffU}
Options for repairing function calls. More...

Enums

enum mi::neuraylib::Material_opacity

Enumerator:

OPACITY_OPAQUE
material is opaque
OPACITY_TRANSPARENT
material is transparent
OPACITY_UNKNOWN
material might be transparent
OPACITY_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Material_slot

Material slots identify parts of a compiled material.

See also:

mi::neuraylib::ICompiled_material and mi::neuraylib::ICompiled_material::get_slot_hash()

Enumerator:

SLOT_THIN_WALLED
Slot thin_walled.
SLOT_SURFACE_SCATTERING
Slot surface.scattering.
SLOT_SURFACE_EMISSION_EDF_EMISSION
Slot surface.emission.emission.
SLOT_SURFACE_EMISSION_INTENSITY
Slot surface.emission.intensity.
SLOT_SURFACE_EMISSION_MODE
Slot surface.emission.mode.
SLOT_BACKFACE_SCATTERING
Slot backface.scattering.
SLOT_BACKFACE_EMISSION_EDF_EMISSION
Slot backface.emission.emission.
SLOT_BACKFACE_EMISSION_INTENSITY
Slot backface.emission.intensity.
SLOT_BACKFACE_EMISSION_MODE
Slot backface.emission.mode.
SLOT_IOR
Slot ior.
SLOT_VOLUME_SCATTERING
Slot volume.scattering.
SLOT_VOLUME_ABSORPTION_COEFFICIENT
Slot volume.absorption_coefficient.
SLOT_VOLUME_SCATTERING_COEFFICIENT
Slot volume.scattering_coefficient.
SLOT_VOLUME_EMISSION_INTENSITY
Slot volume.emission_intensity.
SLOT_GEOMETRY_DISPLACEMENT
Slot geometry.displacement.
SLOT_GEOMETRY_CUTOUT_OPACITY
Slot geometry.cutout_opacity.
SLOT_GEOMETRY_NORMAL
Slot geometry.normal.
SLOT_HAIR
Slot hair.
SLOT_FIRST = SLOT_THIN_WALLED
First slot.
SLOT_LAST = SLOT_HAIR
Last slot.
SLOT_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Mdl_repair_options

Options for repairing function calls.

See also:

mi::neuraylib::IFunction_call::repair().

Enumerator:

MDL_REPAIR_DEFAULT = 0
Default mode, do not alter any inputs.
MDL_REMOVE_INVALID_ARGUMENTS = 1
Remove an invalid call attached to an argument.
MDL_REPAIR_INVALID_ARGUMENTS = 2
Attempt to repair invalid calls attached to an argument.
MDL_REPAIR_OPTIONS_FORCE_32_BIT = 0xffffffffU