Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib Namespace Reference

Namespace for the Iray SDK API. More...

Classes

class  Annotation_wrapper
 A wrapper around the interfaces for MDL annotations. More...
 
class  Argument_editor
 A wrapper around the interface for MDL material instances and function calls. More...
 
struct  Bsdf_auxiliary_data_base
 Input and output structure for BSDF auxiliary calculation data. More...
 
class  Bsdf_buffer
 Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer. More...
 
struct  Bsdf_evaluate_data_base
 Input and output structure for BSDF evaluation data. More...
 
class  Bsdf_isotropic_data
 Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More...
 
struct  Bsdf_pdf_data
 Input and output structure for BSDF PDF calculation data. More...
 
struct  Bsdf_sample_data
 Input and output structure for BSDF sampling data. More...
 
struct  Canvas_parameter_type_t
 Types of canvas parameters. More...
 
class  Definition_wrapper
 A wrapper around the interface for MDL function definitions. More...
 
struct  Edf_auxiliary_data_base
 Input and output structure for EDF auxiliary calculation data. More...
 
struct  Edf_evaluate_data_base
 Input and output structure for EDF evaluation data. More...
 
struct  Edf_pdf_data
 Input and output structure for EDF PDF calculation data. More...
 
struct  Edf_sample_data
 Input and output structure for EDF sampling data. More...
 
class  IAllocator
 The Allocator interface class supports allocating and releasing memory dynamically and querying the amount of extra memory used in the integrating application. More...
 
class  IAnnotation
 An annotation is similar to a direct call expression, but without return type. More...
 
class  IAnnotation_block
 An annotation block is an array of annotations. More...
 
class  IAnnotation_definition
 An annotation definition. More...
 
class  IAnnotation_list
 An ordered collection of annotation blocks identified by name or index. More...
 
class  IAttribute_container
 An attribute container is a database element that stores attributes and no other data. More...
 
class  IAttribute_set
 The attribute set comprises all attributes attached to a database element. More...
 
class  IAttribute_vector
 Interface representing an attribute vector for triangle meshes, polygon meshes, and subdivision surfaces. More...
 
class  IBaker
 Allows to bake a varying or uniform expression of a compiled material into a texture or constant. More...
 
class  IBsdf_buffer
 Abstract interface for a buffer of BSDF values. More...
 
class  IBsdf_isotropic_data
 Abstract interface for isotropic BSDF data. More...
 
class  IBsdf_measurement
 A scene element that stores measured BSDF data. More...
 
class  IBuffer
 Abstract interface for a simple buffer with binary data. More...
 
class  ICache_manager
 Represents an instance of the cache manager. More...
 
class  ICache_manager_factory
 This factory allows to create cache manager instances. More...
 
class  ICamera
 The camera defines the viewpoint from which the scene is rendered. More...
 
class  ICanvas
 Abstract interface for a canvas represented by a rectangular array of tiles. More...
 
class  ICanvas_base
 Abstract interface for a canvas (base class). More...
 
class  ICanvas_cuda
 Abstract interface for a canvas with CUDA device memory storage. More...
 
class  ICanvas_opengl
 Abstract interface for a canvas that represents an OpenGL buffer. More...
 
class  ICanvas_parameters
 Abstract interface for render target canvas parameters. More...
 
class  IChild_process_resolver
 A filter used to decide if a command string to start a child process is eligible for execution. More...
 
class  IClient_node_callback
 Abstract interface for signaling changed cluster members. More...
 
class  ICluster_descriptor
 This interface describes a cluster and its properties. More...
 
class  ICluster_filter
 A filter used to decide whether a cluster is eligible to be joined. More...
 
class  ICluster_manager_cluster
 Represents a cluster which was reserved through the cluster manager. More...
 
class  ICluster_manager_configuration
 An API component which can be used to create a connection to a cluster manager. More...
 
class  ICluster_manager_connection
 Represents a connection to a cluster manager. More...
 
class  ICluster_manager_node
 Provides information about a node which is part of a node pool or reserved cluster. More...
 
class  ICluster_notification_callback
 Abstract interface for giving notifications about errors and status changes. More...
 
class  ICluster_pool_information
 Represents a pool of nodes managed though the cluster manager. More...
 
class  ICluster_property_callback
 Abstract interface for signaling changed cluster properties. More...
 
class  ICompiled_material
 This interface represents a compiled material. More...
 
class  ICurve
 A curve used by freeform surfaces. More...
 
class  ICurve_segment
 A curve segment used by freeform surfaces. More...
 
class  IDatabase
 This interface is used to interact with the distributed database. More...
 
class  IDatabase_configuration
 This interface is used to query and change the database configuration. More...
 
class  IDebug_configuration
 This interface represents an interface to set debug options. More...
 
class  IDecal
 Decals are sticker-like objects that can be applied to other geometry objects. More...
 
class  Identifier
 Handle class for type-safety. More...
 
struct  Identifier_struct
 Handle class for type-safety. More...
 
class  IDeserialized_function_name
 Represents a deserialized function name. More...
 
class  IDeserialized_module_name
 Represents a deserialized module name. More...
 
class  IDeserializer
 Source for deserializing objects from byte streams. More...
 
class  IDictionary
 The dictionary is a data structure that stores a mapping from a fixed set of keys to a their modifiable values. More...
 
class  IExport_api
 This interface is used to export files. More...
 
class  IExport_result
 This interface represents the result of an export operation. More...
 
class  IExport_result_ext
 This interface represents the result of an export operation. More...
 
class  IExporter
 Abstract interface for exporters. More...
 
class  IExpression
 The interface to MDL expressions. More...
 
class  IExpression_call
 An indirect call expression. More...
 
class  IExpression_constant
 A constant expression. More...
 
class  IExpression_direct_call
 A direct call expression. More...
 
class  IExpression_factory
 The interface for creating expressions. More...
 
class  IExpression_list
 An ordered collection of expressions identified by name or index. More...
 
class  IExpression_parameter
 A parameter reference expression. More...
 
class  IExpression_temporary
 A temporary reference expression. More...
 
class  IExtension_api
 This interface is used to extent the Iray SDK API. More...
 
class  IFactory
 This API component allows the creation, assignment, and cloning of instances of types. More...
 
class  IFibers
 Interface representing a collection of fibers. More...
 
class  IFreeform_surface
 Interface representing a freeform surface. More...
 
class  IFunction_call
 This interface represents a function call. More...
 
class  IFunction_definition
 This interface represents a function definition. More...
 
class  IFunctor_base
 Base class for functors. More...
 
class  IGeneral_configuration
 This interface is used to query and change the general configuration. More...
 
class  IGeometry_simplifier
 Functor to simplify a triangle mesh. More...
 
class  IGpu_description
 This interface describes a GPU. More...
 
class  IGroup
 A group is a container for other scene elements. More...
 
class  IHead_node_callback
 Abstract interface for signaling a change of the cluster application head node. More...
 
class  IHost_callback
 Abstract interface to report cluster status changes. More...
 
class  IHost_properties
 This interface contains information about a local or remote host. More...
 
class  IImage
 This interface represents a pixel image file. More...
 
class  IImage_api
 This interface provides various utilities related to canvases and buffers. More...
 
class  IImage_file
 Abstract interface for image files. More...
 
class  IImage_plugin
 Abstract interface for image plugins. More...
 
class  IImpexp_base
 Abstract base interface common for importers and exporters. More...
 
class  IImpexp_state
 This interface represents states that are passed to recursive calls of importers and exporters. More...
 
class  IImport_api
 This interface is used to import files. More...
 
class  IImport_result
 This interface represents the result of an import operation. More...
 
class  IImport_result_ext
 This interface represents the result of an import operation. More...
 
class  IImporter
 Abstract interface for importers. More...
 
class  IInstance
 An instance is a scene element that adds a transformation and attributes to another scene element. More...
 
class  IIrradiance_probes
 Irradiance probes are used to render the irradiance at certain locations in the scene. More...
 
class  IJob_execution_context
 Provides information about the context in which a job is executed. More...
 
class  ILibrary_authenticator
 This interface is used for authenticating the application against the library. More...
 
class  ILight
 Point, spot, directional and area lighting. More...
 
class  ILightprofile
 This interface represents light profiles. More...
 
class  ILink_unit
 Represents a link-unit of an MDL backend. More...
 
class  ILogging_configuration
 This interface is used for configuring the logging for the Iray library. More...
 
class  ILpe_analysis_result
 This interface represents the return value of mi::neuraylib::IRendering_configuration::analyze_light_path_expressions(). More...
 
class  ILpe_check_result
 This interface represents the return value of mi::neuraylib::IRendering_configuration::check_light_path_expressions(). More...
 
class  IManifest
 Represents the manifest in an MDL archive. More...
 
class  IMaterial_instance
 This interface represents a material instance. More...
 
class  IMdl_archive_api
 This API component provides functionality related to MDL archives. More...
 
class  IMdl_backend
 MDL backends allow to transform compiled material instances or function calls into target code. More...
 
class  IMdl_backend_api
 This interface can be used to obtain the MDL backends. More...
 
class  IMdl_compatibility_api
 Provides access to various functions to inspect the compatibility between MDL modules and archives. More...
 
class  IMdl_configuration
 This interface can be used to query and change the MDL configuration. More...
 
class  IMdl_discovery_api
 Interface for the discovery API. More...
 
class  IMdl_discovery_result
 Interface for the discovery result. More...
 
class  IMdl_distiller_api
 Provides access to various functionality related to MDL distilling. More...
 
class  IMdl_entity_resolver
 The entity resolver is used to resolve MDL modules and resources in such modules. More...
 
class  IMdl_evaluator_api
 Provides access to various functions for the evaluation of MDL expressions. More...
 
class  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. More...
 
class  IMdl_factory
 Factory for various MDL interfaces and functions. More...
 
class  IMdl_i18n_configuration
 This interface is used to query and change MDL internationalization settings. More...
 
class  IMdl_impexp_api
 API component for MDL related import and export operations. More...
 
class  IMdl_info
 Abstract interface for a discovery graph node. More...
 
class  IMdl_lightprofile_info
 Interface for lightprofile files. More...
 
class  IMdl_loading_wait_handle
 Interface of a loading wait handle. More...
 
class  IMdl_loading_wait_handle_factory
 Interface of a loading wait handle factory. More...
 
class  IMdl_measured_bsdf_info
 Interface for measured bsdf files. More...
 
class  IMdl_module_builder
 The module builder allows to create new MDL modules. More...
 
class  IMdl_module_info
 Interface for a graph node representing an MDL module. More...
 
class  IMdl_module_transformer
 The module transformer allows to apply certain transformations on an MDL module. More...
 
class  IMdl_package_info
 Interface for a graph node representing an MDL package. More...
 
class  IMdl_resolved_module
 Describes a resolved module (or a failed attempt). More...
 
class  IMdl_resolved_resource
 Describes an ordered set of resolved resource elements. More...
 
class  IMdl_resolved_resource_element
 Describes an ordered set of resolved resource entities. More...
 
class  IMdl_resource_info
 Interface for resources. More...
 
class  IMdl_texture_info
 Interface for texture files. More...
 
class  IMdl_xliff_info
 Interface for xliff files. More...
 
class  IMdle_api
 Provides access to functions related to the creation of encapsulated MDL modules (MDLE). More...
 
class  IMdle_deserialization_callback
 Callback to map references to MDLE modules during deserialization. More...
 
class  IMdle_serialization_callback
 Callback to map references to MDLE modules during serialization. More...
 
class  IMessage
 Message interface. More...
 
class  IModule
 This interface represents an MDL module. More...
 
class  INetwork_configuration
 This interface is used to query and change the networking configuration. More...
 
class  INetwork_statistics
 This interface is used to inquire statistics about the network usage etc. More...
 
class  INeuray
 This is an object representing the Iray library. More...
 
class  INode_manager_client
 The node manager client allows to start or join Iray clusters built from worker nodes. More...
 
class  INode_manager_cluster
 The interface to a cluster created and managed by the node manager. More...
 
class  INode_manager_factory
 Factory to create node manager client and worker instances. More...
 
class  INode_manager_worker
 The node manager worker class allows to set properties and announce them to other nodes. More...
 
class  IOn_demand_mesh
 Interface representing an on-demand mesh. More...
 
class  IOn_demand_mesh_callback
 Abstract interface for callbacks used by on-demand meshes. More...
 
class  IOptions
 A scene element that stores scene-specific settings. More...
 
class  IParticles
 Interface representing a collection of particles. More...
 
class  IPick_array
 This interface represents the return value of a pick operation. More...
 
class  IPick_result
 This interface represents a single object hit by a pick operation. More...
 
class  IPlugin
 The basic interface to be implemented by Iray SDK API plugins. More...
 
class  IPlugin_api
 This abstract interface gives access to the Iray SDK API to plugins. More...
 
class  IPlugin_configuration
 This interface is used to load plugins and to query information about loaded plugins. More...
 
class  IPolygon_connectivity
 A connectivity class for polygon mesh geometry and their attributes. More...
 
class  IPolygon_mesh
 Interface representing a polygon mesh. More...
 
class  IProgress_callback
 Abstract interface to report progress of a long-running operation back to the caller. More...
 
class  IProjector
 Projectors are functions that generate texture coordinates for a particular texture space. More...
 
class  IProxy
 The Proxy is an element that can be used to represent a sub-tree of scene elements on a Bridge server without ever having to load those elements on the client. More...
 
class  IQueue_manager_api
 An API component which can be used to create a connection to a queue manager. More...
 
class  IQueue_manager_connection
 Represents a connection to a queue manager server. More...
 
class  IReader
 A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More...
 
class  IReader_writer_base
 Base interface for readers and writers. More...
 
class  IReady_callback
 Abstract interface to report completion of an asynchronous operation back to the caller. More...
 
class  IRender_context
 This interface is used for doing actual rendering and picking. More...
 
class  IRender_counters
 Performance counters for render modes. More...
 
class  IRender_target
 Abstract interface for a render target. More...
 
class  IRender_target_base
 Abstract interface for a render target (base class). More...
 
class  IRender_target_cuda
 A render target which is specialized for rendering to CUDA device memory. More...
 
class  IRender_target_opengl
 Abstract interface for a render target which is specialized for rendering to an OpenGL buffer. More...
 
class  IRendering_configuration
 This interface is used to query and change the rendering configuration. More...
 
class  IScene
 The scene is the top-level element describing a subset of DB elements to be rendered. More...
 
class  IScene_element
 Common base interface for all scene elements. More...
 
class  IScheduling_configuration
 This interface is used to query and change the scheduling configuration. More...
 
class  IScope
 A scope is the context which determines the visibility of database elements. More...
 
class  ISection_object
 Section objects are used to cull parts of the scene. More...
 
class  ISerializable
 All serializable objects have to be derived from this interface. More...
 
class  ISerialized_function_name
 Represents a serialized function name. More...
 
class  ISerializer
 Target for serializing objects to byte streams. More...
 
class  IShutdown_cluster_callback
 Abstract interface for signaling a request to shutdown a cluster. More...
 
class  IShutdown_node_managers_callback
 Abstract interface for signaling a request to shutdown all clients and workers. More...
 
class  ISimple_mesh
 Interface representing the geometry of on-demand meshes. More...
 
class  ISoftware_package
 Represents a software package installed on the pool of nodes. More...
 
class  IStream_position
 Represents the position in a data stream. More...
 
class  ISubdivision_surface
 Interface representing a subdivision surface. More...
 
class  ISurface
 A surface of a freeform surface. More...
 
class  ITarget_argument_block
 Represents an argument block of a class-compiled material compiled for a specific target. More...
 
class  ITarget_code
 Represents target code of an MDL backend. More...
 
class  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. More...
 
class  ITarget_value_layout
 Represents the layout of an mi::neuraylib::ITarget_argument_block with support for nested elements. More...
 
class  ITessellator
 Functor to tessellate a polygon mesh into a triangle mesh. More...
 
class  ITexture
 Textures add image processing options to images. More...
 
class  ITexture_surface
 A texture surface associated with freeform surfaces. More...
 
class  ITile
 Abstract interface for a tile. More...
 
class  ITimer
 This is an abstract interface class for a timer. More...
 
class  ITimer_class_factory
 The registration of a timer class requires a factory which constructs an instance during deserialization. More...
 
class  ITimer_configuration
 This class is used to start and stop timers. More...
 
class  ITransaction
 A transaction provides a consistent view on the database. More...
 
class  ITriangle_connectivity
 A connectivity class for triangle mesh geometry and their attributes. More...
 
class  ITriangle_mesh
 Interface representing a triangle mesh. More...
 
class  IType
 The interface to MDL types. More...
 
class  IType_alias
 The type of kind alias. More...
 
class  IType_array
 The type of kind array. More...
 
class  IType_atomic
 An atomic type. More...
 
class  IType_bool
 The type of kind bool. More...
 
class  IType_bsdf
 The type of kind bsdf. More...
 
class  IType_bsdf_measurement
 The type of kind bsdf_measurement. More...
 
class  IType_color
 The type of kind color. More...
 
class  IType_compound
 A compound type. More...
 
class  IType_df
 The type of distribution functions. More...
 
class  IType_double
 The type of kind double. More...
 
class  IType_edf
 The type of kind edf. More...
 
class  IType_enum
 A type of kind enum. More...
 
class  IType_factory
 The interface for creating types. More...
 
class  IType_float
 The type of kind float. More...
 
class  IType_hair_bsdf
 The type of kind bsdf. More...
 
class  IType_int
 The type of kind int. More...
 
class  IType_light_profile
 The type of kind light_profile. More...
 
class  IType_list
 An ordered collection of types identified by name or index. More...
 
class  IType_matrix
 The type of kind matrix. More...
 
class  IType_reference
 The reference types. More...
 
class  IType_resource
 A string valued resource type. More...
 
class  IType_string
 The type of kind string. More...
 
class  IType_struct
 The type of kind struct. More...
 
class  IType_texture
 The type of kind texture. More...
 
class  IType_vdf
 The type of kind vdf. More...
 
class  IType_vector
 The type of kind vector. More...
 
class  IUser_class
 Abstract interface for user-defined classes. More...
 
class  IUser_class_factory
 Abstract interface for user class factories. More...
 
class  IValue
 The interface to MDL values. More...
 
class  IValue_array
 A value of type array. More...
 
class  IValue_atomic
 An atomic value. More...
 
class  IValue_bool
 A value of type boolean. More...
 
class  IValue_bsdf_measurement
 A BSDF measurement value. More...
 
class  IValue_color
 A value of type color. More...
 
class  IValue_compound
 A compound value. More...
 
class  IValue_double
 A value of type double. More...
 
class  IValue_enum
 A value of type enum. More...
 
class  IValue_factory
 The interface for creating values. More...
 
class  IValue_float
 A value of type float. More...
 
class  IValue_int
 A value of type integer. More...
 
class  IValue_invalid_df
 An invalid distribution function value. More...
 
class  IValue_light_profile
 A light profile value. More...
 
class  IValue_list
 An ordered collection of values identified by name or index. More...
 
class  IValue_matrix
 A value of type matrix. More...
 
class  IValue_resource
 Base class for resource values. More...
 
class  IValue_string
 A value of type string. More...
 
class  IValue_string_localized
 A value of type string which can be used to obtain the original, non-localized value of a localized string. More...
 
class  IValue_struct
 A value of type struct. More...
 
class  IValue_texture
 A texture value. More...
 
class  IValue_vector
 A value of type vector. More...
 
class  IVersion
 Abstract interface for accessing version information. More...
 
class  IVideo_codec_factory
 API component that allow creation of installed video encoders and decoders. More...
 
class  IVideo_data
 A buffer for video data representing a frame. More...
 
class  IVideo_decoder
 Abstract interface for video decoders. More...
 
class  IVideo_encoder
 Abstract interface for video encoders. More...
 
class  IVideo_plugin
 Abstract interface for video encoder plugins. More...
 
class  IVolume
 Interface representing a top-level volume. More...
 
class  IVolume_data
 Interface representing a volume data set. More...
 
class  IVolume_info
 Basic information about one of the data sets contained in a volume data file. More...
 
class  IWelder
 Functor to weld a triangle mesh. More...
 
class  IWorker_node_callback
 Abstract interface for signaling changed cluster members. More...
 
class  IWorker_node_descriptor
 This interface describes a worker node and its properties. More...
 
class  IWorker_node_filter
 A filter used to decide whether a worker node is eligible to be included in a cluster. More...
 
class  IWorker_node_property_callback
 Abstract interface for signaling changed worker node properties. More...
 
class  IWorker_process_started_callback
 Abstract interface for indicating that a worker process has been fully started. More...
 
class  IWriter
 A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument. More...
 
struct  Resource_data
 The data structure providing access to resources for generated code. More...
 
struct  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. More...
 
struct  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. More...
 
class  Tag
 A tag represents a unique identifier for database elements in the database. More...
 
struct  Tag_struct
 A tag represents a unique identifier for database elements in the database. More...
 
struct  Target_function_description
 Description of target function. More...
 
struct  Target_value_layout_state
 Structure representing the state during traversal of the nested layout. More...
 
struct  tct_deriv
 A template struct with derivatives. More...
 
struct  tct_traits
 Helper traits struct to switch between derivative and non-derivative types. More...
 
struct  Texture_handler_base
 The texture handler structure that is passed to the texturing functions. More...
 
struct  Texture_handler_deriv_base
 The texture handler structure that is passed to the texturing functions with derivative support. More...
 
struct  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. More...
 
class  Timer_class_factory
 This mixin class provides a default implementation of the mi::neuraylib::ITimer_class_factory interface. More...
 
class  Triangle_point_indices
 A triangle defined by three point indices, starting at index 0. More...
 
struct  Triangle_point_indices_struct
 A triangle defined by three point indices, starting at index 0. More...
 
class  User_class
 This mixin class should be used to implement the IUser_class interface. More...
 
class  User_class_factory
 This mixin class provides a default implementation of the IUser_class_factory interface. More...
 

Typedefs

typedef Identifier_struct< HND_TRIANGLETriangle_handle_struct
 Handle for triangles More...
 
typedef Identifier_struct< HND_POLYPolygon_handle_struct
 Handle for polygons More...
 
typedef Identifier_struct< HND_SURFACESurface_handle_struct
 Handle for surfaces More...
 
typedef Identifier_struct< HND_CURVECurve_handle_struct
 Handle for curves More...
 
typedef Identifier_struct< HND_CURVE_SEGMENTCurve_segment_handle_struct
 Handle for curve segments More...
 
typedef Identifier_struct< HND_TEXTURE_SURFACETexture_surface_handle_struct
 Handle for texture surfaces More...
 
typedef Identifier_struct< HND_FIBER, Uint64Fiber_handle_struct
 Handle for fibers More...
 
typedef Identifier< HND_TRIANGLETriangle_handle
 Handle for triangles More...
 
typedef Identifier< HND_POLYPolygon_handle
 Handle for polygons More...
 
typedef Identifier< HND_SURFACESurface_handle
 Handle for surfaces More...
 
typedef Identifier< HND_CURVECurve_handle
 Handle for curve More...
 
typedef Identifier< HND_CURVE_SEGMENTCurve_segment_handle
 Handle for curve segments More...
 
typedef Identifier< HND_TEXTURE_SURFACETexture_surface_handle
 Handle for texture surfaces More...
 
typedef Identifier< HND_FIBERFiber_handle
 Handle for fibers More...
 
typedef float tct_float
 A float. More...
 
typedef mi::Float32_2_struct tct_float2
 A float2. More...
 
typedef mi::Float32_3_struct tct_float3
 A float3. More...
 
typedef mi::Float32_4_struct tct_float4
 A float4. More...
 
typedef mi::Sint32 tct_int
 An int. More...
 
typedef mi::Uint32 tct_uint
 An unsigned int. More...
 
typedef bool tct_bool
 A bool. More...
 
typedef tct_traits<true>::tct_derivable_float tct_deriv_float
 A float with derivatives. More...
 
typedef tct_traits<true>::tct_derivable_float2 tct_deriv_float2
 A float2 with derivatives. More...
 
typedef tct_traits<true>::tct_derivable_float3 tct_deriv_float3
 A float3 with derivatives. More...
 
typedef tct_traits<true>::tct_derivable_float4 tct_deriv_float4
 A float4 with derivatives. More...
 
typedef tct_deriv< float[2]> tct_deriv_arr_float_2
 A float[2] with derivatives (needed to avoid problems with wrong alignment). More...
 
typedef tct_deriv< float[3]> tct_deriv_arr_float_3
 A float[3] with derivatives (needed to avoid problems with wrong alignment). More...
 
typedef tct_deriv< float[4]> tct_deriv_arr_float_4
 A float[4] with derivatives (needed to avoid problems with wrong alignment). More...
 
typedef struct Shading_state_material_impl<false> Shading_state_material
 The MDL material state structure. More...
 
typedef struct Shading_state_material_impl<true> Shading_state_material_with_derivs
 The MDL material state structure with derivatives for the texture coordinates. More...
 
typedef Texture_handler_vtable_impl<false> Texture_handler_vtable
 The texture handler vtable struct. More...
 
typedef Texture_handler_vtable_impl<true> Texture_handler_deriv_vtable
 The texture handler vtable struct with derivatives for the texture coordinates. More...
 
typedef void() Environment_function(void *result, Shading_state_environment const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of environment functions created via mi::neuraylib::IMdl_backend::translate_environment() and mi::neuraylib::ILink_unit::add_function(). More...
 
typedef void() Material_expr_function(void *result, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of material expression functions created via mi::neuraylib::IMdl_backend::translate_material_expression() and mi::neuraylib::ILink_unit::add_material_expression(). More...
 
typedef void() Material_expr_function_with_derivs(void *result, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of material expression functions created via mi::neuraylib::IMdl_backend::translate_material_expression() and mi::neuraylib::ILink_unit::add_material_expression(). More...
 
typedef void() Bsdf_init_function(Shading_state_material *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_init_function_with_derivs(Shading_state_material_with_derivs *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_sample_function(Bsdf_sample_data *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_sample_function_with_derivs(Bsdf_sample_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_evaluate_function(Bsdf_evaluate_data_base *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_evaluate_function_with_derivs(Bsdf_evaluate_data_base *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_pdf_function(Bsdf_pdf_data *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_pdf_function_with_derivs(Bsdf_pdf_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_auxiliary_function(Bsdf_auxiliary_data_base *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the auxiliary function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Bsdf_auxiliary_function_with_derivs(Bsdf_auxiliary_data_base *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the auxiliary function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_init_function(Shading_state_material *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_init_function_with_derivs(Shading_state_material_with_derivs *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_sample_function(Edf_sample_data *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_sample_function_with_derivs(Edf_sample_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_evaluate_function(Edf_evaluate_data_base *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_evaluate_function_with_derivs(Edf_evaluate_data_base *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_pdf_function(Edf_pdf_data *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_pdf_function_with_derivs(Edf_pdf_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_auxiliary_function(Edf_auxiliary_data_base *data, Shading_state_material const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the auxiliary function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 
typedef void() Edf_auxiliary_function_with_derivs(Edf_auxiliary_data_base *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, char const *arg_block_data)
 Signature of the auxiliary function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 

Enumerations

enum  Propagation_type {
  PROPAGATION_STANDARD ,
  PROPAGATION_OVERRIDE ,
  PROPAGATION_FORCE_32_BIT = 0xffffffffU
}
 Propagation types for attribute inheritance. More...
 
enum  Mesh_attribute_name {
}
 Symbolic constants for mesh attributes. More...
 
enum  Connectivity_map_type { CONNECTIVITY_MAP_GENERIC , CONNECTIVITY_FORCE_32_BIT = 0xffffffffU }
 Symbolic constants for different connectivity types. More...
 
enum  Bsdf_type {
  BSDF_SCALAR = 0 ,
  BSDF_RGB = 1 ,
  BSDF_TYPES_FORCE_32_BIT = 0xffffffffU
}
 The BSDF type. More...
 
enum  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  Material_opacity {
  OPACITY_OPAQUE ,
  OPACITY_TRANSPARENT ,
  OPACITY_UNKNOWN ,
  OPACITY_FORCE_32_BIT = 0xffffffffU
}
 The compiled material's opacity. More...
 
enum  Decal_face_mode {
  DECAL_ON_FRONT_FACE ,
  DECAL_ON_BACK_FACE ,
  DECAL_ON_FRONT_AND_BACK_FACE ,
  DECAL_FACE_MODE_FORCE_32_BIT = 0xffffffffU
}
 This enum controls whether the decal is applied on the front face, back face, or both faces of the object. More...
 
enum  Identifier_name {
  HND_TRIANGLE ,
  HND_POLY ,
  HND_SURFACE ,
  HND_CURVE ,
  HND_CURVE_SEGMENT ,
  HND_TEXTURE_SURFACE ,
  HND_FIBER ,
  HND_SCENE_GRAPH_VERSION ,
  HND_SCENE_GRAPH_NODE ,
  HND_SCENE_GRAPH_OBJECT_NODE ,
  HND_SCENE_GRAPH_LIGHT_NODE ,
  HND_SCENE_GRAPH_MESH ,
  HND_SCENE_GRAPH_MATERIAL ,
  HND_SCENE_GRAPH_DECAL_NODE ,
  HND_SCENE_GRAPH_PROJECTOR_NODE ,
  HND_SCENE_GRAPH_SECTION_OBJECT_NODE
}
 Various handle types. More...
 
enum  Mdl_version {
  MDL_VERSION_1_0 ,
  MDL_VERSION_1_1 ,
  MDL_VERSION_1_2 ,
  MDL_VERSION_1_3 ,
  MDL_VERSION_1_4 ,
  MDL_VERSION_1_5 ,
  MDL_VERSION_1_6 ,
  MDL_VERSION_1_7 ,
  MDL_VERSION_1_8 ,
  MDL_VERSION_EXP ,
  MDL_VERSION_LATEST = MDL_VERSION_1_8 ,
  MDL_VERSION_INVALID = 0xffffffffU ,
  MDL_VERSION_FORCE_32_BIT = 0xffffffffU
}
 The MDL version. More...
 
enum  Fiber_type {
  FIBER_TYPE_BSPLINE ,
  FIBER_TYPE_CATMULL_ROM ,
  FIBER_TYPE_LINEAR ,
  FIBER_TYPE_BEZIER ,
  FIBER_TYPE_FORCE_32_BIT = 0xffffffffU
}
 Different fiber types of mi::neuraylib::IFibers. More...
 
enum  Fiber_attribute_type {
  FIBER_ATTRIBUTE_PER_PRIMITIVE ,
  FIBER_ATTRIBUTE_PER_VERTEX ,
  FIBER_ATTRIBUTE_FORCE_32_BIT = 0xffffffffU
}
 Different attribute vector types for mi::neuraylib::IFibers. More...
 
enum  Basis_type {
  BASIS_BEZIER = 0 ,
  BASIS_BSPLINE = 1 ,
  BASIS_TYPE_FORCE_32_BIT = 0xffffffffU
}
 Different basis types that are supported by freeform surfaces. More...
 
enum  Parameter_space_dimension {
  DIMENSION_U = 0 ,
  DIMENSION_V = 1 ,
  DIMENSION_FORCE_32_BIT = 0xffffffffU
}
 Distinguishes the two dimensions of the parameter space of freeform surfaces. More...
 
enum  Curve_type {
  TRIM_CURVE = 0 ,
  HOLE_CURVE = 1 ,
  CURVE_TYPE_FORCE_32_BIT = 0xffffffffU
}
 Different curve types that are supported by freeform surfaces. More...
 
enum  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...
 
enum  Impexp_priority {
  IMPEXP_PRIORITY_OVERRIDE = 4 ,
  IMPEXP_PRIORITY_WELL_DEFINED = 3 ,
  IMPEXP_PRIORITY_AMBIGUOUS = 2 ,
  IMPEXP_PRIORITY_GUESS = 1 ,
  IMPEXP_PRIORITY_FORCE_32_BIT = 0xffffffffU
}
 Confidence in capabilities of an importer or exporter. More...
 
enum  Transformation_type {
  SCALING ,
  ROTATION ,
  TRANSLATION ,
  MATRIX ,
  TRANSFORMATION_TYPE_FORCE_32_BIT = 0xffffffffU
}
 The four different types of elementary transformations. More...
 
enum  Light_type {
  LIGHT_POINT = 0 ,
  LIGHT_INFINITE = 2 ,
  LIGHT_FORCE_32_BIT = 0xffffffffU
}
 Supported light types. More...
 
enum  Light_area_shape {
  AREA_NONE = 0 ,
  AREA_RECTANGLE = 1 ,
  AREA_DISC = 2 ,
  AREA_SPHERE = 3 ,
  AREA_CYLINDER = 4 ,
  N_AREA_TYPES ,
  AREA_FORCE_32_BIT = 0xffffffffU
}
 Supported area light shapes. More...
 
enum  Lightprofile_flags {
  LIGHTPROFILE_CLOCKWISE = 1 ,
  LIGHTPROFILE_COUNTER_CLOCKWISE = 2 ,
  LIGHTPROFILE_ROTATE_TYPE_B = 4 ,
  LIGHTPROFILE_ROTATE_TYPE_C_90_270 = 8 ,
  LIGHTPROFILE_FLAGS_FORCE_32_BIT = 0xffffffffU
}
 Ordering of horizontal angles in a light profile. More...
 
enum  Lightprofile_degree {
  LIGHTPROFILE_HERMITE_BASE_1 = 1 ,
  LIGHTPROFILE_HERMITE_BASE_3 = 3 ,
  LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU
}
 Degree of hermite interpolation. More...
 
enum  Log_prefix {
  LOG_PREFIX_TIME = 0x0001 ,
  LOG_PREFIX_TIME_SECONDS = 0x0002 ,
  LOG_PREFIX_HOST_THREAD = 0x0004 ,
  LOG_PREFIX_HOST_NAME = 0x0008 ,
  LOG_PREFIX_MODULE = 0x0010 ,
  LOG_PREFIX_CATEGORY = 0x0020 ,
  LOG_PREFIX_SEVERITY = 0x0040 ,
  LOG_PREFIX_CUDA_DEVICE = 0x0080 ,
  LOG_PREFIX_TAGS = 0x0100 ,
  LOG_PREFIX_FORCE_32_BIT = 0xffffffffU
}
 Components of the log message prefix. More...
 
enum  Df_data_kind
 Possible kinds of distribution function data. More...
 
enum  Baker_resource {
  BAKE_ON_CPU ,
  BAKE_ON_GPU ,
  BAKE_ON_GPU_WITH_CPU_FALLBACK ,
  BAKER_RESOURCE_FORCE_32_BIT = 0xffffffffU
}
 Identifies the resource(s) to be used by a baker. More...
 
enum  Uvtile_mode {
  UVTILE_MODE_NONE = 0 ,
  UVTILE_MODE_UDIM = 1 ,
  UVTILE_MODE_UVTILE0 = 2 ,
  UVTILE_MODE_UVTILE1 = 3 ,
  UVTILE_MODE_FORCE_32_BIT = 0xffffffffU
}
 Supported uvtile modes for resources. More...
 
enum  Particle_type { PARTICLE_TYPE_SPHERE , PARTICLE_TYPE_FORCE_32_BIT = 0xffffffffU }
 Different particle types of mi::neuraylib::IParticles. More...
 
enum  Stereo_pairing_mode {
  STEREO_PAIRING_NONE = 0 ,
  STEREO_PAIRING_SEPARATE = 1 ,
  STEREO_PAIRING_LEFT_TO_RIGHT = 2 ,
  STEREO_PAIRING_TOP_TO_BOTTOM = 3 ,
  STEREO_PAIRING_FORCE_32_BIT = 0xffffffffU
}
 Constants for the stereo pairing mode. More...
 
enum  Canvas_type {
  TYPE_RESULT ,
  TYPE_RESULT_IRRADIANCE ,
  TYPE_RESULT_IRRADIANCE_PROBE ,
  TYPE_ALPHA ,
  TYPE_SHADOW ,
  TYPE_AMBIENT_OCCLUSION ,
  TYPE_RAYLENGTH ,
  TYPE_DEPTH ,
  TYPE_MATERIAL_TAG ,
  TYPE_MATERIAL_ID ,
  TYPE_OBJECT_ID ,
  TYPE_NORMAL ,
  TYPE_TEXTURE_COORDINATE ,
  TYPE_BSDF_WEIGHT ,
  TYPE_CONVERGENCE_HEATMAP ,
  TYPE_POST_TOON ,
  TYPE_MOTION_VECTOR ,
  TYPE_WORLD_POSITION ,
  TYPE_SELECTION_OUTLINE ,
  TYPE_MULTI_MATTE ,
  TYPE_COUNT ,
  TYPE_UNDEFINED = 0xffffffffU
}
 The type of a canvas in an mi::neuraylib::IRender_target_base. More...
 
enum  Canvas_parameter {
  PARAM_COLOR_LPE ,
  PARAM_ALPHA_LPE ,
  PARAM_INDEX ,
  PARAM_EDGE_COLOR ,
  PARAM_EDGE_COLOR_2 ,
  PARAM_SHADE_COLOR ,
  PARAM_SCALE ,
  PARAM_PROCESSING_DISABLED ,
  PARAM_MULTI_INDEX ,
  PARAM_SELECTION_SUBSET ,
  PARAM_BIAS ,
  PARAM_COUNT ,
  PARAM_UNDEFINED = 0xffffffffU
}
 The type of a render target canvas parameter in mi::neuraylib::ICanvas_parameters. More...
 
enum  Element_type {
  ELEMENT_TYPE_INSTANCE = 0 ,
  ELEMENT_TYPE_GROUP = 1 ,
  ELEMENT_TYPE_OPTIONS = 2 ,
  ELEMENT_TYPE_CAMERA = 3 ,
  ELEMENT_TYPE_LIGHT = 4 ,
  ELEMENT_TYPE_LIGHTPROFILE = 5 ,
  ELEMENT_TYPE_TEXTURE = 7 ,
  ELEMENT_TYPE_IMAGE = 8 ,
  ELEMENT_TYPE_TRIANGLE_MESH = 10 ,
  ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16 ,
  ELEMENT_TYPE_POLYGON_MESH = 18 ,
  ELEMENT_TYPE_SUBDIVISION_SURFACE = 23 ,
  ELEMENT_TYPE_FREEFORM_SURFACE = 24 ,
  ELEMENT_TYPE_FIBERS = 25 ,
  ELEMENT_TYPE_VOLUME = 26 ,
  ELEMENT_TYPE_VOLUME_DATA = 27 ,
  ELEMENT_TYPE_PARTICLES = 28 ,
  ELEMENT_TYPE_MODULE = 29 ,
  ELEMENT_TYPE_FUNCTION_DEFINITION = 30 ,
  ELEMENT_TYPE_FUNCTION_CALL = 31 ,
  ELEMENT_TYPE_MATERIAL_INSTANCE = 33 ,
  ELEMENT_TYPE_COMPILED_MATERIAL = 34 ,
  ELEMENT_TYPE_BSDF_MEASUREMENT = 35 ,
  ELEMENT_TYPE_IRRADIANCE_PROBES = 36 ,
  ELEMENT_TYPE_DECAL = 37 ,
  ELEMENT_TYPE_ON_DEMAND_MESH = 38 ,
  ELEMENT_TYPE_PROJECTOR = 39 ,
  ELEMENT_TYPE_SECTION_OBJECT = 40 ,
  ELEMENT_TYPE_PROXY = 41 ,
  ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU
}
 Distinguishes scene elements. More...
 
enum  Vertex_feature {
  SMOOTH_VERTEX = 0 ,
  CORNER_VERTEX = 1 ,
  VERTEX_FEATURE_FORCE_32_BIT = 0xffffffffU
}
 Vertex features. More...
 
enum  Texture_compression {
  TEXTURE_NO_COMPRESSION = 0 ,
  TEXTURE_MEDIUM_COMPRESSION = 1 ,
  TEXTURE_HIGH_COMPRESSION = 2 ,
  TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
}
 Texture compression method. More...
 
enum  Filter_type {
  FILTER_BOX = 0 ,
  FILTER_TRIANGLE = 1 ,
  FILTER_GAUSS = 2 ,
  FILTER_CMITCHELL = 3 ,
  FILTER_CLANCZOS = 4 ,
  FILTER_FAST = 5 ,
  FILTER_FORCE_32_BIT = 0xffffffffU
}
 Supported filter types. More...
 
enum  Tex_wrap_mode {
  TEX_WRAP_CLAMP = 0 ,
  TEX_WRAP_REPEAT = 1 ,
  TEX_WRAP_MIRRORED_REPEAT = 2 ,
  TEX_WRAP_CLIP = 3
}
 The texture wrap modes as defined by tex::wrap_mode in the MDL specification. More...
 
enum  Mbsdf_part {
  MBSDF_DATA_REFLECTION = 0 ,
  MBSDF_DATA_TRANSMISSION = 1
}
 MBSDFs can consist of two parts, which can be selected using this enumeration. More...
 
enum  Bsdf_event_type
 The type of events created by BSDF importance sampling. More...
 
enum  Df_handle_slot_mode {
  DF_HSM_POINTER = -2 ,
  DF_HSM_NONE = -1 ,
  DF_HSM_FIXED_1 = 1 ,
  DF_HSM_FIXED_2 = 2 ,
  DF_HSM_FIXED_4 = 4 ,
  DF_HSM_FIXED_8 = 8
}
 Type of Bsdf_evaluate_data variants, depending on the backend and its configuration. More...
 
enum  Edf_event_type
 The type of events created by EDF importance sampling. More...
 

Functions

template<class T>
T * mi_factory (void *symbol)
 Convenience function to ease the use of mi_factory(). More...
 
Uint32_2 get_resolution (const ICanvas_base &canvas)
 Convenience function which returns a canvas' resolution in a struct. More...
 
base::Handle< IPick_arraypick (IRender_context &render_context, ITransaction *trans, const math::Bbox< Uint32, 2 > &rectangle, const Float32_2 &pixel_offset=Float32_2(.5f), const bool recursive=false)
 Picks what is behind a rectangle in the scene. More...
 
bool operator== (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is equal to rhs. More...
 
bool operator!= (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is not equal to rhs. More...
 
bool operator< (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is less than rhs. More...
 
bool operator> (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is greater than rhs. More...
 
bool operator<= (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is less than or equal to rhs. More...
 
bool operator>= (const Tag &lhs, const Tag &rhs)
 Returns true if lhs is greater than or equal to rhs. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IValue *value, const T &v)
 Simplifies setting the value of mi::neuraylib::IValue from the corresponding classes from the base and math API. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const bool &v)
 This specialization handles mi::neuraylib::IValue_bool. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::Float32 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::Float64 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const char *v)
 This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More...
 
template<class T , Size DIM>
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::math::Vector<T, DIM> &v)
 This specialization handles mi::neuraylib::IValue_vector. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::math::Matrix<T, ROW, COL> &v)
 This specialization handles mi::neuraylib::IValue_matrix. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::math::Color &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
mi::Sint32 set_value (mi::neuraylib::IValue *value, const mi::math::Spectrum &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IValue *value, mi::Size index, const T &v)
 This variant handles elements of compounds identified via an additional index. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IValue *value, const char *name, const T &v)
 This variant handles fields of structs identified via an additional field name. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IValue *value, const T *v, mi::Size n)
 This variant handles entire arrays. More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, T &v)
 Simplifies reading the value of mi::neuraylib::IValue into the corresponding classes from the base and math API. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, bool &v)
 This specialization handles mi::neuraylib::IValue_bool. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::Float32 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::Float64 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, const char *&v)
 This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More...
 
template<class T , Size DIM>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::math::Vector<T, DIM> &v)
 This specialization handles mi::neuraylib::IValue_vector. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::math::Matrix<T, ROW, COL> &v)
 This specialization handles mi::neuraylib::IValue_matrix. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::math::Color &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::math::Spectrum &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, mi::Size index, T &v)
 This variant handles elements of compounds identified via an additional index. More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, const char *name, T &v)
 This variant handles fields of structs identified via an additional field name. More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IValue *value, T *v, mi::Size n)
 This variant handles entire arrays. More...
 

Variables

const Tag NULL_TAG
 This value of the tag represents an invalid tag which can not be accessed. More...
 

Detailed Description

Namespace for the Iray SDK API.

Enumeration Type Documentation

 Stereo_pairing_mode

Constants for the stereo pairing mode.

When submitting a job, the stereo pairing mode defines how the results of the job should be exported (see mi::neuraylib::IQueue_manager_connection::submit_job).

Enumerator
STEREO_PAIRING_NONE 

Disable stereo rendering.

STEREO_PAIRING_SEPARATE 

Stereo images are exported in separate files.

STEREO_PAIRING_LEFT_TO_RIGHT 

The image of the left eye is rendered beside (left side of) the image of the right eye.

The rendered stereo images are twice the width of the jobs resolution width.

STEREO_PAIRING_TOP_TO_BOTTOM 

The image of the left eye is rendered above the image of the right eye.

The rendered stereo images are twice the height of the jobs resolution height.

Function Documentation

 mi_factory()

template<class T>
T * mi::neuraylib::mi_factory ( void *  symbol)

Convenience function to ease the use of mi_factory().

Parameters
symbolpointer to the mi_factory symbol.
Returns
a pointer to an interface of type T or NULL if the interface could not be retrieved. See mi_factory for supported interfaces.