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 opacity of a compiled material. 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
The material is opaque.
OPACITY_TRANSPARENT
The material is transparent.
OPACITY_UNKNOWN
The opacity of the material is unknown, e.g., because it depends on parameters.
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