mi | Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH |
 base | Namespace for the Base API |
  details | Namespace for details of the Base API |
  Atom32 | A 32-bit unsigned counter with atomic arithmetic, increments, and decrements |
  Condition | Conditions allow threads to signal an event and to wait for such a signal, respectively |
  Default_allocator | A default allocator implementation based on global new and delete |
  Handle | Handle class template for interfaces, automatizing the lifetime control via reference counting |
  IAllocator | The IAllocator interface class supports allocating and releasing memory dynamically |
  IInterface | The basic extensible interface |
  Message_details | Structured details to log messages |
  ILogger | The ILogger interface class supports logging of messages |
  Log_stream | Adapts mi::base::ILogger to a standard streaming interface |
  Interface_declare | Mixin class template for deriving new interface declarations |
  Interface_implement | Mixin class template for deriving interface implementations |
  Interface_implement_2 | Mixin class template for deriving interface implementations from two interfaces |
  Interface_implement_singleton | Mixin class template for deriving singleton interface implementations, where the reference count is fixed to one |
  Interface_merger | This mixin merges the implementation of one interface with a second interface |
  Lock | Non-recursive lock class |
   Block | Utility class to acquire a lock that is released by the destructor |
  Recursive_lock | Recursive lock class |
   Block | Utility class to acquire a lock that is released by the destructor |
  Plugin | The abstract base class for plugins |
  IPlugin_descriptor | Represents a plugin |
  Std_allocator | An adaptor class template that implements a standard STL allocator |
   rebind | Rebind helper struct to define a new class instance of this allocator template instantiated for the new value type T1 |
  numeric_traits_base | Base class for the helper class to deduce properties of numeric types defined in this API |
  numeric_traits | Helper class to deduce properties of numeric types defined in this API |
  numeric_traits< Sint8 > | Numeric traits specialization for mi::Sint8 |
  numeric_traits< Sint16 > | Numeric traits specialization for mi::Sint16 |
  numeric_traits< Sint32 > | Numeric traits specialization for mi::Sint32 |
  numeric_traits< Sint64 > | Numeric traits specialization for mi::Sint64 |
  numeric_traits< Uint8 > | Numeric traits specialization for mi::Uint8 |
  numeric_traits< Uint16 > | Numeric traits specialization for mi::Uint16 |
  numeric_traits< Uint32 > | Numeric traits specialization for mi::Uint32 |
  numeric_traits< Uint64 > | Numeric traits specialization for mi::Uint64 |
  numeric_traits< Float32 > | Numeric traits specialization for mi::Float32 |
  numeric_traits< Float64 > | Numeric traits specialization for mi::Float64 |
  Uuid | A 128 bit representation of a universally unique identifier (UUID or GUID) |
  Uuid_t | Class template for a compile-time representation of universally unique identifiers (UUIDs or GUIDs) |
 math | Namespace for the Math API |
  functor | Namespace for basic math functors in the Math API |
   Operator_equal_equal | Functor for the equality comparison operator, == |
   Operator_not_equal | Functor for the inequality comparison operator, != |
   Operator_less | Functor for the less-than comparison operator, < |
   Operator_less_equal | Functor for the less-than-or-equal comparison operator, <= |
   Operator_greater | Functor for the greater-than comparison operator, > |
   Operator_greater_equal | Functor for the greater-than-or-equal comparison operator, >= |
   Operator_plus | Functor for the plus operator, + |
   Operator_minus | Functor for the minus operator, - , unary and binary |
   Operator_multiply | Functor for the multiplication operator, * |
   Operator_divide | Functor for the division operator, / |
   Operator_and_and | Functor for the logical and operator, && |
   Operator_or_or | Functor for the logical or operator, || |
   Operator_xor | Functor for the xor operator, ^ |
   Operator_not | Functor for the logical not operator, ! |
   Operator_pre_incr | Functor for the pre-increment operator, ++ |
   Operator_post_incr | Functor for the post-increment operator, ++ |
   Operator_pre_decr | Functor for the pre-decrement operator, -- |
   Operator_post_decr | Functor for the post-decrement operator, -- |
  general | Namespace for generic functions in the Math API |
  Bbox_struct | Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension |
  Bbox | Axis-aligned N-dimensional bounding box class template of fixed dimension |
  Spectrum_struct | Generic storage class template for a Spectrum representation storing three floating point elements |
  Color | Standard RGBA color class with floating point elements and operations |
  Matrix_struct | Storage class for a NxM-dimensional matrix class template of fixed dimensions |
  Matrix_struct< T, 1, 1 > | Specialization for 1x1-matrix |
  Matrix_struct< T, 2, 1 > | Specialization for 2x1-matrix |
  Matrix_struct< T, 3, 1 > | Specialization for 3x1-matrix |
  Matrix_struct< T, 4, 1 > | Specialization for 4x1-matrix |
  Matrix_struct< T, 1, 2 > | Specialization for 1x2-matrix |
  Matrix_struct< T, 2, 2 > | Specialization for 2x2-matrix |
  Matrix_struct< T, 3, 2 > | Specialization for 3x2-matrix |
  Matrix_struct< T, 4, 2 > | Specialization for 4x2-matrix |
  Matrix_struct< T, 1, 3 > | Specialization for 1x3-matrix |
  Matrix_struct< T, 2, 3 > | Specialization for 2x3-matrix |
  Matrix_struct< T, 3, 3 > | Specialization for 3x3-matrix |
  Matrix_struct< T, 4, 3 > | Specialization for 4x3-matrix |
  Matrix_struct< T, 1, 4 > | Specialization for 1x4-matrix |
  Matrix_struct< T, 2, 4 > | Specialization for 2x4-matrix |
  Matrix_struct< T, 3, 4 > | Specialization for 3x4-matrix |
  Matrix_struct< T, 4, 4 > | Specialization for 4x4-matrix |
  Matrix | NxM-dimensional matrix class template of fixed dimensions |
  Spectrum | Spectrum with floating point elements and operations |
  Color_struct | Generic storage class template for an RGBA color representation storing four floating points elements |
  Vector_struct | Generic storage class template for math vector representations storing DIM elements of type T |
  Vector_struct< T, 1 > | Specialization for dimension 1 to create x member |
  Vector_struct< T, 2 > | Specialization for dimension 2 to create x and y member |
  Vector_struct< T, 3 > | Specialization for dimension 3 to create x, y, and z members |
  Vector_struct< T, 4 > | Specialization for dimension 4 to create x, y, z, and w members |
  Vector | Fixed-size math vector class template with generic operations |
 neuraylib | Namespace for the MDL API |
  Argument_editor | A wrapper around the interfaces for MDL material instances and function calls |
  Definition_wrapper | A wrapper around the interfaces for MDL material and function definitions |
  Bsdf_buffer | Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer |
  Bsdf_isotropic_data | Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data |
  IAllocator | The Allocator interface class supports allocating and releasing memory dynamically and querying the amount of extra memory used in the integrating application |
  IAttribute_set | The attribute set comprises all attributes attached to a database element |
  IBsdf_isotropic_data | Abstract interface for isotropic BSDF data |
  IBsdf_buffer | Abstract interface for a buffer of BSDF values |
  IBsdf_measurement | A scene element that stores measured BSDF data |
  ICanvas_base | Abstract interface for a canvas (base class) |
  ICanvas | Abstract interface for a canvas represented by a rectangular array of tiles |
  ICompiled_material | This interface represents a compiled material |
  IDatabase | This interface is used to interact with the distributed database |
  IDebug_configuration | This interface represents an interface to set debug options |
  IExpression | The interface to MDL expressions |
  IExpression_constant | A constant expression |
  IExpression_call | An indirect call expression |
  IExpression_parameter | A parameter reference expression |
  IExpression_direct_call | A direct call expression |
  IExpression_temporary | A temporary reference expression |
  IExpression_list | An ordered collection of expressions identified by name or index |
  IAnnotation_definition | An annotation definition |
  IAnnotation | An annotation is similar to a direct call expression, but without return type. Its definition can be obtained by calling mi::neuraylib::IAnnotation::get_definition() |
  IAnnotation_block | An annotation block is an array of annotations |
  IAnnotation_list | An ordered collection of annotation blocks identified by name or index |
  IExpression_factory | The interface for creating expressions |
  IFactory | This API component allows the creation, assignment, and cloning of instances of types. It also provides a comparison function for types |
  IFunction_call | This interface represents a function call |
  IFunction_definition | This interface represents a function definition |
  IImage | This interface represents a pixel image file. It supports different pixel types, 2D and 3D image data, and mipmap levels. Its main usage is in textures, see the mi::neuraylib::ITexture class |
  IImage_api | This interface provides various utilities related to canvases and buffers |
  ILightprofile | This interface represents light profiles |
  IMaterial_definition | This interface represents a material definition |
  IMaterial_instance | This interface represents a material instance |
  IMdl_archive_api | This API component provides functionality related to MDL archives |
  IManifest | Represents the manifest in an MDL archive |
  IMdl_backend_api | This interface can be used to obtain the MDL backends |
  IMdl_backend | MDL backends allow to transform compiled material instances or function calls into target code |
  ITarget_resource_callback | A callback interface to allow the user to handle resources when creating new mi::neuraylib::ITarget_argument_block objects for class-compiled materials when the arguments contain textures not known during compilation |
  ITarget_argument_block | Represents an argument block of a class-compiled material compiled for a specific target |
  Target_value_layout_state | Structure representing the state during traversal of the nested layout |
  ITarget_value_layout | Represents the layout of an mi::neuraylib::ITarget_argument_block with support for nested elements |
  ITarget_code | Represents target code of an MDL backend |
  ILink_unit | Represents a link-unit of an MDL backend |
  Target_function_description | Description of target function |
  IMdl_compiler | The MDL compiler allows to register builtin modules |
  IMdl_compatibility_api | Provides access to various functions to inspect the compatibility between MDL modules and archives |
  IMdl_configuration | This interface can be used to query and change the MDL configuration |
  IMdl_info | Abstract interface for a discovery graph node. It provides the common functionality of all different discovery graph node interfaces |
  IMdl_module_info | Interface for a graph node representing an MDL module |
  IMdl_xliff_info | Interface for xliff files |
  IMdl_resource_info | Interface for resources |
  IMdl_texture_info | Interface for texture files |
  IMdl_lightprofile_info | Interface for lightprofile files |
  IMdl_measured_bsdf_info | Interface for measured bsdf files |
  IMdl_package_info | Interface for a graph node representing an MDL package |
  IMdl_discovery_result | Interface for the discovery result |
  IMdl_discovery_api | Interface for the discovery API |
  IMdl_distiller_api | Provides access to various functionality related to MDL distilling |
  IBaker | Allows to bake a varying or uniform expression of a compiled material into a texture or constant |
  IMdl_i18n_configuration | This interface is used to query and change MDL internationalization settings |
  IMdl_impexp_api | API component for MDL related import and export operations |
  IMessage | Message interface |
  IMdl_execution_context | The execution context can be used to query status information like error and warning messages concerning the operation it was passed into |
  IMdl_evaluator_api | Provides access to various functions for the evaluation of MDL expressions |
  IMdl_factory | Factory for various MDL interfaces and functions |
  IMdl_module_transformer | The module transformer allows to apply certain transformations on an MDL module |
  IMdle_api | Provides access to functions related to the creation of encapsulated MDL modules (MDLE) |
  IModule | This interface represents an MDL module |
  INeuray | This is an object representing the MDL API library. Only one object of this type will exist at a time. It is used for configuration, startup and shutdown of the MDL API library |
  IPlugin_configuration | This interface is used to load plugins and to query information about loaded plugins |
  IReader | A reader supports binary block reads and string-oriented line reads that zero-terminate the result |
  IReader_writer_base | Base interface for readers and writers |
  IScene_element | Common base interface for all scene elements |
  IScope | A scope is the context which determines the visibility of database elements |
  IStream_position | Represents the position in a data stream |
  ITexture | Textures add image processing options to images |
  ITile | Abstract interface for a tile |
  ITransaction | A transaction provides a consistent view on the database |
  IType | The interface to MDL types |
  IType_alias | The type of kind alias |
  IType_atomic | An atomic type |
  IType_bool | The type of kind bool |
  IType_int | The type of kind int |
  IType_enum | A type of kind enum |
  IType_float | The type of kind float |
  IType_double | The type of kind double |
  IType_string | The type of kind string |
  IType_compound | A compound type |
  IType_vector | The type of kind vector |
  IType_matrix | The type of kind matrix |
  IType_color | The type of kind color |
  IType_array | The type of kind array |
  IType_struct | The type of kind struct |
  IType_reference | The reference types |
  IType_resource | A string valued resource type |
  IType_texture | The type of kind texture |
  IType_light_profile | The type of kind light_profile |
  IType_bsdf_measurement | The type of kind bsdf_measurement |
  IType_df | The type of distribution functions |
  IType_bsdf | The type of kind bsdf |
  IType_hair_bsdf | The type of kind bsdf |
  IType_edf | The type of kind edf |
  IType_vdf | The type of kind vdf |
  IType_list | An ordered collection of types identified by name or index |
  IType_factory | The interface for creating types |
  IValue | The interface to MDL values |
  IValue_atomic | An atomic value |
  IValue_bool | A value of type boolean |
  IValue_int | A value of type integer |
  IValue_enum | A value of type enum |
  IValue_float | A value of type float |
  IValue_double | A value of type double |
  IValue_string | A value of type string |
  IValue_string_localized | A value of type string which can be used to obtain the original, non-localized value of a localized string |
  IValue_compound | A compound value |
  IValue_vector | A value of type vector |
  IValue_matrix | A value of type matrix |
  IValue_color | A value of type color |
  IValue_array | A value of type array |
  IValue_struct | A value of type struct |
  IValue_resource | Base class for resource values |
  IValue_texture | A texture value |
  IValue_light_profile | A light profile value |
  IValue_bsdf_measurement | A BSDF measurement value |
  IValue_invalid_df | An invalid distribution function value |
  IValue_list | An ordered collection of values identified by name or index |
  IValue_factory | The interface for creating values |
  IVersion | Abstract interface for accessing version information |
  IWriter | A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument |
  tct_deriv | A template struct with derivatives |
  tct_traits | Helper traits struct to switch between derivative and non-derivative types |
  Shading_state_environment | The MDL environment state structure inside the MDL SDK is a representation of the renderer state in the context of an environment lookup as defined in section 19 "Renderer state" in the MDL specification |
  Shading_state_material_impl | The MDL material state structure inside the MDL SDK is a representation of the renderer state as defined in section 19 "Renderer state" in the MDL specification |
  Texture_handler_vtable_impl | The runtime for bitmap texture access for the generated target code can optionally be implemented in form of a vtable as specified by this structure |
  Texture_handler_base | The texture handler structure that is passed to the texturing functions. A user can derive from this structure and add custom fields as required by the texturing function implementations |
  Texture_handler_deriv_base | The texture handler structure that is passed to the texturing functions with derivative support. A user can derive from this structure and add custom fields as required by the texturing function implementations |
  Resource_data | The data structure providing access to resources for generated code |
  Bsdf_sample_data | Input and output structure for BSDF sampling data |
  Bsdf_evaluate_data_base | Input and output structure for BSDF evaluation data |
  Bsdf_pdf_data | Input and output structure for BSDF PDF calculation data |
  Bsdf_auxiliary_data_base | Input and output structure for BSDF auxiliary calculation data |
  Edf_sample_data | Input and output structure for EDF sampling data |
  Edf_evaluate_data_base | Input and output structure for EDF evaluation data |
  Edf_pdf_data | Input and output structure for EDF PDF calculation data |
  Edf_auxiliary_data_base | Input and output structure for EDF auxiliary calculation data |
 IArray | This interface represents static arrays, i.e., arrays with a fixed number of elements |
 IBbox3 | This interface represents bounding boxes |
 IColor | This interface represents RGBA colors |
 IColor3 | This interface represents RGB colors |
 ICompound | This interface represents compounds, i.e., vectors, matrices, colors, spectrums, and bounding boxes |
 IData | This interface is the base interface of all types |
 IData_simple | This interface represents simple types |
 IData_collection | This interface represents collections |
 IVoid | This interface represents the void type |
 IDynamic_array | This interface represents dynamic arrays, i.e., arrays with a variable number of elements |
 IEnum | This interface represents enums |
 IEnum_decl | An enum declaration is used to describe enum types |
 IMap | This interface represents maps, i.e., a key-value based data structure |
 IBoolean_2_2 | This interface represents a 2 x 2 matrix of bool |
 IBoolean_2_3 | This interface represents a 2 x 3 matrix of bool |
 IBoolean_2_4 | This interface represents a 2 x 4 matrix of bool |
 IBoolean_3_2 | This interface represents a 3 x 2 matrix of bool |
 IBoolean_3_3 | This interface represents a 3 x 3 matrix of bool |
 IBoolean_3_4 | This interface represents a 3 x 4 matrix of bool |
 IBoolean_4_2 | This interface represents a 4 x 2 matrix of bool |
 IBoolean_4_3 | This interface represents a 4 x 3 matrix of bool |
 IBoolean_4_4 | This interface represents a 4 x 4 matrix of bool |
 ISint32_2_2 | This interface represents a 2 x 2 matrix of Sint32 |
 ISint32_2_3 | This interface represents a 2 x 3 matrix of Sint32 |
 ISint32_2_4 | This interface represents a 2 x 4 matrix of Sint32 |
 ISint32_3_2 | This interface represents a 3 x 2 matrix of Sint32 |
 ISint32_3_3 | This interface represents a 3 x 3 matrix of Sint32 |
 ISint32_3_4 | This interface represents a 3 x 4 matrix of Sint32 |
 ISint32_4_2 | This interface represents a 4 x 2 matrix of Sint32 |
 ISint32_4_3 | This interface represents a 4 x 3 matrix of Sint32 |
 ISint32_4_4 | This interface represents a 4 x 4 matrix of Sint32 |
 IUint32_2_2 | This interface represents a 2 x 2 matrix of Uint32 |
 IUint32_2_3 | This interface represents a 2 x 3 matrix of Uint32 |
 IUint32_2_4 | This interface represents a 2 x 4 matrix of Uint32 |
 IUint32_3_2 | This interface represents a 3 x 2 matrix of Uint32 |
 IUint32_3_3 | This interface represents a 3 x 3 matrix of Uint32 |
 IUint32_3_4 | This interface represents a 3 x 4 matrix of Uint32 |
 IUint32_4_2 | This interface represents a 4 x 2 matrix of Uint32 |
 IUint32_4_3 | This interface represents a 4 x 3 matrix of Uint32 |
 IUint32_4_4 | This interface represents a 4 x 4 matrix of Uint32 |
 IFloat32_2_2 | This interface represents a 2 x 2 matrix of Float32 |
 IFloat32_2_3 | This interface represents a 2 x 3 matrix of Float32 |
 IFloat32_2_4 | This interface represents a 2 x 4 matrix of Float32 |
 IFloat32_3_2 | This interface represents a 3 x 2 matrix of Float32 |
 IFloat32_3_3 | This interface represents a 3 x 3 matrix of Float32 |
 IFloat32_3_4 | This interface represents a 3 x 4 matrix of Float32 |
 IFloat32_4_2 | This interface represents a 4 x 2 matrix of Float32 |
 IFloat32_4_3 | This interface represents a 4 x 3 matrix of Float32 |
 IFloat32_4_4 | This interface represents a 4 x 4 matrix of Float32 |
 IFloat64_2_2 | This interface represents a 2 x 2 matrix of Float64 |
 IFloat64_2_3 | This interface represents a 2 x 3 matrix of Float64 |
 IFloat64_2_4 | This interface represents a 2 x 4 matrix of Float64 |
 IFloat64_3_2 | This interface represents a 3 x 2 matrix of Float64 |
 IFloat64_3_3 | This interface represents a 3 x 3 matrix of Float64 |
 IFloat64_3_4 | This interface represents a 3 x 4 matrix of Float64 |
 IFloat64_4_2 | This interface represents a 4 x 2 matrix of Float64 |
 IFloat64_4_3 | This interface represents a 4 x 3 matrix of Float64 |
 IFloat64_4_4 | This interface represents a 4 x 4 matrix of Float64 |
 INumber | This interface represents simple numeric types |
 IBoolean | This interface represents bool |
 IUint8 | This interface represents mi::Uint8 |
 IUint16 | This interface represents mi::Uint16 |
 IUint32 | This interface represents mi::Uint32 |
 IUint64 | This interface represents mi::Uint64 |
 ISint8 | This interface represents mi::Sint8 |
 ISint16 | This interface represents mi::Sint16 |
 ISint32 | This interface represents mi::Sint32 |
 ISint64 | This interface represents mi::Sint64 |
 IFloat32 | This interface represents mi::Float32 |
 IFloat64 | This interface represents mi::Float64 |
 ISize | This interface represents mi::Size |
 IDifference | This interface represents mi::Difference |
 IPointer | This interface represents mutable pointers |
 IConst_pointer | This interface represents const pointers |
 IRef | A reference is an object that acts as a pointer to other database elements |
 ISpectrum | This interface represents spectrums |
 IString | A simple string class |
 IStructure | This interface represents structures, i.e., a key-value based data structure |
 IStructure_decl | A structure declaration is used to describe structure types |
 IUuid | This interface represents UUIDs |
 IBoolean_2 | This interface represents a vector of two bool |
 IBoolean_3 | This interface represents a vector of three bool |
 IBoolean_4 | This interface represents a vector of four bool |
 ISint32_2 | This interface represents a vector of two Sint32 |
 ISint32_3 | This interface represents a vector of three Sint32 |
 ISint32_4 | This interface represents a vector of four Sint32 |
 IUint32_2 | This interface represents a vector of two Uint32 |
 IUint32_3 | This interface represents a vector of three Uint32 |
 IUint32_4 | This interface represents a vector of four Uint32 |
 IFloat32_2 | This interface represents a vector of two Float32 |
 IFloat32_3 | This interface represents a vector of three Float32 |
 IFloat32_4 | This interface represents a vector of four Float32 |
 IFloat64_2 | This interface represents a vector of two Float64 |
 IFloat64_3 | This interface represents a vector of three Float64 |
 IFloat64_4 | This interface represents a vector of four Float64 |
 Type_traits | Type traits relating interfaces, corresponding primitive types, and their type names |