neuray API Programmer's Manual

mi::neuraylib Namespace Reference

[Neuray API]

Description

Namespace for the neuray API.

Namespaces

namespace mi::neuraylib::detail

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 
Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer. More...
class 
Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More...
class 
A wrapper around the interface for MDL function definitions. More...
class 
The Allocator interface class supports allocating and releasing memory dynamically and querying the amount of extra memory used in the integrating application. More...
class 
An annotation is similar to a direct call expression, but without return type. More...
class 
An annotation block is an array of annotations. More...
class 
An annotation definition. More...
class 
An ordered collection of annotation blocks identified by name or index. More...
class 
An attribute container is a database element that stores attributes and no other data. More...
class 
The attribute set comprises all attributes attached to a database element. More...
class 
Interface representing an attribute vector for triangle meshes, polygon meshes, and subdivision surfaces. More...
class 
Allows to bake a varying or uniform expression of a compiled material into a texture or constant. More...
class 
Abstract interface for a buffer of BSDF values. More...
class 
Abstract interface for isotropic BSDF data. More...
class 
A scene element that stores measured BSDF data. More...
class 
Abstract interface for a simple buffer with binary data. More...
class 
Represents an instance of the cache manager. More...
class 
This factory allows to create cache manager instances. More...
class 
The camera defines the viewpoint from which the scene is rendered. More...
class 
Abstract interface for a canvas represented by a rectangular array of tiles. More...
class 
Abstract interface for a canvas (base class). More...
class 
Abstract interface for a canvas with CUDA device memory storage. More...
class 
Abstract interface for a canvas that represents an OpenGL buffer. More...
class 
Abstract interface for render target canvas parameters. More...
class 
A filter used to decide if a command string to start a child process is eligible for execution. More...
class 
Abstract interface for signaling changed cluster members. More...
class 
This interface describes a cluster and its properties. More...
class 
A filter used to decide whether a cluster is eligible to be joined. More...
class 
Represents a cluster which was reserved through the cluster manager. More...
class 
An API component which can be used to create a connection to a cluster manager. More...
class 
Represents a connection to a cluster manager. More...
class 
Provides information about a node which is part of a node pool or reserved cluster. More...
class 
Abstract interface for giving notifications about errors and status changes. More...
class 
Represents a pool of nodes managed though the cluster manager. More...
class 
Abstract interface for signaling changed cluster properties. More...
class 
This interface represents a compiled material. More...
class 
A curve used by freeform surfaces. More...
class 
A curve segment used by freeform surfaces. More...
class 
This interface is used to interact with the distributed database. More...
class 
This interface is used to query and change the database configuration. More...
class 
This interface represents an interface to set debug options. More...
class 
Decals are sticker-like objects that can be applied to other geometry objects. More...
class 
Represents a deserialized function name. More...
class 
Represents a deserialized module name. More...
class 
Source for deserializing objects from byte streams. More...
class 
The dictionary is a data structure that stores a mapping from a fixed set of keys to a their modifiable values. More...
class 
This interface is used to export files. More...
class 
This interface represents the result of an export operation. More...
class 
This interface represents the result of an export operation. More...
class 
Abstract interface for exporters. More...
class 
The interface to MDL expressions. More...
class 
An indirect call expression. More...
class 
A constant expression. More...
class 
A direct call expression. More...
class 
The interface for creating expressions. More...
class 
An ordered collection of expressions identified by name or index. More...
class 
A parameter reference expression. More...
class 
A temporary reference expression. More...
class 
This interface is used to extent the neuray API. More...
class 
This API component allows the creation, assignment, and cloning of instances of types. More...
class 
Interface representing a collection of fibers. More...
class 
Interface representing a freeform surface. More...
class 
This interface represents a function call. More...
class 
This interface represents a function definition. More...
class 
Base class for functors. More...
class 
This interface is used to query and change the general configuration. More...
class 
Functor to simplify a triangle mesh. More...
class 
This interface describes a GPU. More...
class 
A group is a container for other scene elements. More...
class 
Abstract interface for signaling a change of the cluster application head node. More...
class 
Abstract interface to report cluster status changes. More...
class 
This interface contains information about a local or remote host. More...
class 
This interface represents a pixel image file. More...
class 
This interface provides various utilities related to canvases and buffers. More...
class 
Abstract interface for image files. More...
class 
Abstract interface for image plugins. More...
class 
Abstract base interface common for importers and exporters. More...
class 
This interface represents states that are passed to recursive calls of importers and exporters. More...
class 
This interface is used to import files. More...
class 
This interface represents the result of an import operation. More...
class 
This interface represents the result of an import operation. More...
class 
Abstract interface for importers. More...
class 
An instance is a scene element that adds a transformation and attributes to another scene element. More...
class 
Irradiance probes are used to render the irradiance at certain locations in the scene. More...
class 
This interface is used for authenticating the application against the library. More...
class 
Point, spot, directional and area lighting. More...
class 
This interface represents light profiles. More...
class 
Represents a link-unit of an MDL backend. More...
class 
This interface is used for configuring the logging for the . More...
class 
This interface represents the return value of mi::neuraylib::IRendering_configuration::analyze_light_path_expressions(). More...
class 
This interface represents the return value of mi::neuraylib::IRendering_configuration::check_light_path_expressions(). More...
class 
Represents the manifest in an MDL archive. More...
class 
This interface represents a material instance. More...
class 
This API component provides functionality related to MDL archives. More...
class 
MDL backends allow to transform compiled material instances or function calls into target code. More...
class 
This interface can be used to obtain the MDL backends. More...
class 
Provides access to various functions to inspect the compatibility between MDL modules and archives. More...
class 
This interface can be used to query and change the MDL configuration. More...
class 
Interface for the discovery API. More...
class 
Interface for the discovery result. More...
class 
Provides access to various functionality related to MDL distilling. More...
class 
The entity resolver is used to resolve MDL modules and resources in such modules. More...
class 
Provides access to various functions for the evaluation of MDL expressions. More...
class 
The execution context can be used to query status information like error and warning messages concerning the operation it was passed into. More...
class 
Factory for various MDL interfaces and functions. More...
class 
This interface is used to query and change MDL internationalization settings. More...
class 
API component for MDL related import and export operations. More...
class 
Abstract interface for a discovery graph node. More...
class 
Interface for lightprofile files. More...
class 
Interface of a loading wait handle. More...
class 
Interface of a loading wait handle factory. More...
class 
Interface for measured bsdf files. More...
class 
The module builder allows to create new MDL modules. More...
class 
Interface for a graph node representing an MDL module. More...
class 
The module transformer allows to apply certain transformations on an MDL module. More...
class 
Interface for a graph node representing an MDL package. More...
class 
Describes a resolved module (or a failed attempt). More...
class 
Describes an ordered set of resolved resource elements. More...
class 
Describes an ordered set of resolved resource entities. More...
class 
Interface for resources. More...
class 
Interface for texture files. More...
class 
Interface for xliff files. More...
class 
Provides access to functions related to the creation of encapsulated MDL modules (MDLE). More...
class 
Callback to map references to MDLE modules during deserialization. More...
class 
Callback to map references to MDLE modules during serialization. More...
class 
Message interface. More...
class 
This interface represents an MDL module. More...
class 
This interface is used to query and change the networking configuration. More...
class 
This interface is used to inquire statistics about the network usage etc. More...
class 
This is an object representing the . More...
class 
The node manager client allows to start or join clusters built from worker nodes. More...
class 
The interface to a cluster created and managed by the node manager. More...
class 
Factory to create node manager client and worker instances. More...
class 
The node manager worker class allows to set properties and announce them to other nodes. More...
class 
Interface representing an on-demand mesh. More...
class 
Abstract interface for callbacks used by on-demand meshes. More...
class 
A scene element that stores scene-specific settings. More...
class 
Interface representing a collection of particles. More...
class 
This interface represents the return value of a pick operation. More...
class 
This interface represents a single object hit by a pick operation. More...
class 
The basic interface to be implemented by neuray API plugins. More...
class 
This abstract interface gives access to the neuray API to plugins. More...
class 
This interface is used to load plugins and to query information about loaded plugins. More...
class 
A connectivity class for polygon mesh geometry and their attributes. More...
class 
Interface representing a polygon mesh. More...
class 
Abstract interface to report progress of a long-running operation back to the caller. More...
class 
Projectors are functions that generate texture coordinates for a particular texture space. More...
class 
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 
An API component which can be used to create a connection to a queue manager. More...
class 
Represents a connection to a queue manager server. More...
class 
A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More...
class 
Base interface for readers and writers. More...
class 
Abstract interface to report completion of an asynchronous operation back to the caller. More...
class 
This interface is used for doing actual rendering and picking. More...
class 
Performance counters for render modes. More...
class 
Abstract interface for a render target. More...
class 
Abstract interface for a render target (base class). More...
class 
A render target which is specialized for rendering to CUDA device memory. More...
class 
Abstract interface for a render target which is specialized for rendering to an OpenGL buffer. More...
class 
This interface is used to query and change the rendering configuration. More...
class 
The scene is the top-level element describing a subset of DB elements to be rendered. More...
class 
Common base interface for all scene elements. More...
class 
This interface is used to query and change the scheduling configuration. More...
class 
A scope is the context which determines the visibility of database elements. More...
class 
Section objects are used to cull parts of the scene. More...
class 
All serializable objects have to be derived from this interface. More...
class 
Represents a serialized function name. More...
class 
Target for serializing objects to byte streams. More...
class 
Abstract interface for signaling a request to shutdown a cluster. More...
class 
Abstract interface for signaling a request to shutdown all clients and workers. More...
class 
Interface representing the geometry of on-demand meshes. More...
class 
Represents a software package installed on the pool of nodes. More...
class 
Represents the position in a data stream. More...
class 
Interface representing a subdivision surface. More...
class 
A surface of a freeform surface. More...
class 
Represents an argument block of a class-compiled material compiled for a specific target. More...
class 
Represents target code of an MDL backend. More...
class 
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 
Represents the layout of an mi::neuraylib::ITarget_argument_block with support for nested elements. More...
class 
Functor to tessellate a polygon mesh into a triangle mesh. More...
class 
Textures add image processing options to images. More...
class 
A texture surface associated with freeform surfaces. More...
class 
Abstract interface for a tile. More...
class 
This is an abstract interface class for a timer. More...
class 
The registration of a timer class requires a factory which constructs an instance during deserialization. More...
class 
This class is used to start and stop timers. More...
class 
A transaction provides a consistent view on the database. More...
class 
A connectivity class for triangle mesh geometry and their attributes. More...
class 
Interface representing a triangle mesh. More...
class 
The interface to MDL types. More...
class 
The type of kind alias. More...
class 
The type of kind array. More...
class 
An atomic type. More...
class 
The type of kind bool. More...
class 
The type of kind bsdf. More...
class 
The type of kind bsdf_measurement. More...
class 
The type of kind color. More...
class 
A compound type. More...
class 
The type of distribution functions. More...
class 
The type of kind double. More...
class 
The type of kind edf. More...
class 
A type of kind enum. More...
class 
The interface for creating types. More...
class 
The type of kind float. More...
class 
The type of kind bsdf. More...
class 
The type of kind int. More...
class 
The type of kind light_profile. More...
class 
An ordered collection of types identified by name or index. More...
class 
The type of kind matrix. More...
class 
The reference types. More...
class 
A string valued resource type. More...
class 
The type of kind string. More...
class 
The type of kind struct. More...
class 
The type of kind texture. More...
class 
The type of kind vdf. More...
class 
The type of kind vector. More...
class 
Abstract interface for user-defined classes. More...
class 
Abstract interface for user class factories. More...
class 
The interface to MDL values. More...
class 
A value of type array. More...
class 
An atomic value. More...
class 
A value of type boolean. More...
class 
A BSDF measurement value. More...
class 
A value of type color. More...
class 
A compound value. More...
class 
A value of type double. More...
class 
A value of type enum. More...
class 
The interface for creating values. More...
class 
A value of type float. More...
class 
A value of type integer. More...
class 
An invalid distribution function value. More...
class 
A light profile value. More...
class 
An ordered collection of values identified by name or index. More...
class 
A value of type matrix. More...
class 
Base class for resource values. More...
class 
A value of type string. More...
class 
A value of type string which can be used to obtain the original, non-localized value of a localized string. More...
class 
A value of type struct. More...
class 
A texture value. More...
class 
A value of type vector. More...
class 
Abstract interface for accessing version information. More...
class 
API component that allow creation of installed video encoders and decoders. More...
class 
A buffer for video data representing a frame. More...
class 
Abstract interface for video decoders. More...
class 
Abstract interface for video encoders. More...
class 
Abstract interface for video encoder plugins. More...
class 
Interface representing a top-level volume. More...
class 
Interface representing a volume data set. More...
class 
Basic information about one of the data sets contained in a volume data file. More...
class 
Functor to weld a triangle mesh. More...
class 
Abstract interface for signaling changed cluster members. More...
class 
This interface describes a worker node and its properties. More...
class 
A filter used to decide whether a worker node is eligible to be included in a cluster. More...
class 
Abstract interface for signaling changed worker node properties. More...
class 
Abstract interface for indicating that a worker process has been fully started. More...
class 
A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument. More...
class 
Handle class for type-safety. More...
struct 
Handle class for type-safety. More...
struct 
More...
struct 
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 
More...
class 
A tag represents a unique identifier for database elements in the database. More...
struct 
A tag represents a unique identifier for database elements in the database. More...
struct 
Description of target function. More...
struct 
Structure representing the state during traversal of the nested layout. More...
struct 
More...
struct 
More...
struct 
More...
class 
This mixin class provides a default implementation of the mi::neuraylib::ITimer_class_factory interface. More...
class 
A triangle defined by three point indices, starting at index 0. More...
struct 
A triangle defined by three point indices, starting at index 0. More...
class 
This mixin class should be used to implement the IUser_class interface. More...
class 
This mixin class provides a default implementation of the IUser_class_factory interface. More...
struct 
A template struct with derivatives. More...

Typedefs

typedef void(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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 Identifier< HND_CURVE> 
Handle for curve More...
typedef Identifier_struct< HND_CURVE> 
Handle for curves More...
typedef Identifier< HND_CURVE_SEGMENT> 
Handle for curve segments More...
typedef Identifier_struct< HND_CURVE_SEGMENT> 
Handle for curve segments More...
typedef void(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
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(  
Signature of environment functions created via mi::neuraylib::IMdl_backend::translate_environment() and mi::neuraylib::ILink_unit::add_function(). More...
typedef Identifier< HND_FIBER> 
Handle for fibers More...
typedef Identifier_struct< HND_FIBER,Uint64> 
Handle for fibers More...
typedef void(  
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(  
Signature of material expression functions created via mi::neuraylib::IMdl_backend::translate_material_expression() and mi::neuraylib::ILink_unit::add_material_expression(). More...
typedef Identifier< HND_POLY> 
Handle for polygons More...
typedef Identifier_struct< HND_POLY> 
Handle for polygons More...
typedef structShading_state_material_impl< false> 
The MDL material state structure. More...
typedef structShading_state_material_impl< true> 
The MDL material state structure with derivatives for the texture coordinates. More...
typedef Identifier< HND_SURFACE> 
Handle for surfaces More...
typedef Identifier_struct< HND_SURFACE> 
Handle for surfaces More...
typedef Texture_handler_vtable_impl< true> 
The texture handler vtable struct with derivatives for the texture coordinates. More...
typedef Texture_handler_vtable_impl< false> 
The texture handler vtable struct. More...
typedef Identifier< HND_TEXTURE_SURFACE> 
Handle for texture surfaces More...
typedef Identifier_struct< HND_TEXTURE_SURFACE> 
Handle for texture surfaces More...
typedef Identifier< HND_TRIANGLE> 
Handle for triangles More...
typedef Identifier_struct< HND_TRIANGLE> 
Handle for triangles More...
typedef bool  
A bool. More...
typedef tct_deriv< float[2]> 
A float[2] with derivatives (needed to avoid problems with wrong alignment). More...
typedef tct_deriv< float[3]> 
A float[3] with derivatives (needed to avoid problems with wrong alignment). More...
typedef tct_deriv< float[4]> 
A float[4] with derivatives (needed to avoid problems with wrong alignment). More...
typedef tct_traits< true>::tct_derivable_float  
A float with derivatives. More...
typedef tct_traits< true>::tct_derivable_float2  
A float2 with derivatives. More...
typedef tct_traits< true>::tct_derivable_float3  
A float3 with derivatives. More...
typedef tct_traits< true>::tct_derivable_float4  
A float4 with derivatives. More...
typedef float  
A float. More...
typedef mi::​Float32_2_struct 
A float2. More...
typedef mi::​Float32_3_struct 
A float3. More...
typedef mi::​Float32_4_struct 
A float4. More...
typedef mi::​Sint32 
An int. More...
typedef mi::​Uint32 
An unsigned int. More...

Enumerations

enum  {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  {BASIS_BEZIER = 0, BASIS_BSPLINE = 1, BASIS_TYPE_FORCE_32_BIT = 0xffffffffU }
Different basis types that are supported by freeform surfaces. More...
enum  {BSDF_EVENT_ABSORB = 0, BSDF_EVENT_DIFFUSE = 1, BSDF_EVENT_GLOSSY = 1<<1, BSDF_EVENT_SPECULAR = 1<<2, BSDF_EVENT_REFLECTION = 1<<3, BSDF_EVENT_TRANSMISSION = 1<<4, BSDF_EVENT_DIFFUSE_REFLECTION = BSDF_EVENT_DIFFUSE|BSDF_EVENT_REFLECTION, BSDF_EVENT_DIFFUSE_TRANSMISSION = BSDF_EVENT_DIFFUSE|BSDF_EVENT_TRANSMISSION, BSDF_EVENT_GLOSSY_REFLECTION = BSDF_EVENT_GLOSSY|BSDF_EVENT_REFLECTION, BSDF_EVENT_GLOSSY_TRANSMISSION = BSDF_EVENT_GLOSSY|BSDF_EVENT_TRANSMISSION, BSDF_EVENT_SPECULAR_REFLECTION = BSDF_EVENT_SPECULAR|BSDF_EVENT_REFLECTION, BSDF_EVENT_SPECULAR_TRANSMISSION = BSDF_EVENT_SPECULAR|BSDF_EVENT_TRANSMISSION, BSDF_EVENT_FORCE_32_BIT = 0xffffffffU }
The type of events created by BSDF importance sampling. More...
enum  {BSDF_SCALAR = 0, BSDF_RGB = 1, BSDF_TYPES_FORCE_32_BIT = 0xffffffffU }
The BSDF type. More...
enum  {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_COUNT, PARAM_UNDEFINED = 0xffffffffU }
The type of a render target canvas parameter in mi::neuraylib::ICanvas_parameters. More...
enum  {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  {CONNECTIVITY_MAP_GENERIC, CONNECTIVITY_FORCE_32_BIT = 0xffffffffU }
Symbolic constants for different connectivity types. More...
enum  {TRIM_CURVE = 0, HOLE_CURVE = 1, CURVE_TYPE_FORCE_32_BIT = 0xffffffffU }
Different curve types that are supported by freeform surfaces. More...
enum  {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  {DFK_NONE, DFK_INVALID, DFK_SIMPLE_GLOSSY_MULTISCATTER, DFK_BACKSCATTERING_GLOSSY_MULTISCATTER, DFK_BECKMANN_SMITH_MULTISCATTER, DFK_BECKMANN_VC_MULTISCATTER, DFK_GGX_SMITH_MULTISCATTER, DFK_GGX_VC_MULTISCATTER, DFK_WARD_GEISLER_MORODER_MULTISCATTER, DFK_SHEEN_MULTISCATTER, DFK_FORCE_32_BIT = 0xffffffffU }
Possible kinds of distribution function data. More...
enum  {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_NONE = 0, EDF_EVENT_EMISSION = 1, EDF_EVENT_FORCE_32_BIT = 0xffffffffU }
The type of events created by EDF importance sampling. More...
enum  {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  {FIBER_ATTRIBUTE_PER_PRIMITIVE, FIBER_ATTRIBUTE_PER_VERTEX, FIBER_ATTRIBUTE_FORCE_32_BIT = 0xffffffffU }
Different attribute vector types for mi::neuraylib::IFibers. More...
enum  {FIBER_TYPE_BSPLINE, FIBER_TYPE_CATMULL_ROM, FIBER_TYPE_LINEAR, FIBER_TYPE_FORCE_32_BIT = 0xffffffffU }
Different fiber types of mi::neuraylib::IFibers. More...
enum  {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  {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  {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  {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  {LIGHT_POINT = 0, LIGHT_INFINITE = 2, LIGHT_FORCE_32_BIT = 0xffffffffU }
Supported light types. More...
enum  {LIGHTPROFILE_HERMITE_BASE_1 = 1, LIGHTPROFILE_HERMITE_BASE_3 = 3, LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU }
Degree of hermite interpolation. More...
enum  {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  {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  {OPACITY_OPAQUE, OPACITY_TRANSPARENT, OPACITY_UNKNOWN, OPACITY_FORCE_32_BIT = 0xffffffffU }
The compiled material's opacity. More...
enum  {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  {MBSDF_DATA_REFLECTION = 0, MBSDF_DATA_TRANSMISSION = 1 }
MBSDFs can consist of two parts, which can be selected using this enumeration. More...
enum  {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  {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  {ATTR_NONE = 0, ATTR_NORMAL = 1, ATTR_MOTION = 2, ATTR_DERIVATIVES = 3, ATTR_MATERIAL_INDEX = 4, ATTR_TEXTURE = 6, ATTR_TEXTURE_NUM = 256, ATTR_USER = ATTR_TEXTURE+ATTR_TEXTURE_NUM, ATTR_USER_NUM = 4, ATTR_MAX = ATTR_USER+ATTR_USER_NUM, ATTR_FORCE_32_BIT = 0xffffffffU }
Symbolic constants for mesh attributes. More...
enum  {DIMENSION_U = 0, DIMENSION_V = 1, DIMENSION_FORCE_32_BIT = 0xffffffffU }
Distinguishes the two dimensions of the parameter space of freeform surfaces. More...
enum  {PARTICLE_TYPE_SPHERE, PARTICLE_TYPE_FORCE_32_BIT = 0xffffffffU }
Different particle types of mi::neuraylib::IParticles. More...
enum  {PROPAGATION_STANDARD, PROPAGATION_OVERRIDE, PROPAGATION_FORCE_32_BIT = 0xffffffffU }
Propagation types for attribute inheritance. 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  {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  {TEXTURE_NO_COMPRESSION = 0, TEXTURE_MEDIUM_COMPRESSION = 1, TEXTURE_HIGH_COMPRESSION = 2, TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU }
Texture compression method. More...
enum  {SCALING, ROTATION, TRANSLATION, MATRIX, TRANSFORMATION_TYPE_FORCE_32_BIT = 0xffffffffU }
The four different types of elementary transformations. More...
enum  {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  {SMOOTH_VERTEX = 0, CORNER_VERTEX = 1, VERTEX_FEATURE_FORCE_32_BIT = 0xffffffffU }
Vertex features. More...

Functions

struct  ( 16)
Input and output structure for BSDF sampling data. More...
Uint32_2  ( const ICanvas_base& canvas)
Convenience function which returns a canvas' resolution in a struct. More...
template< class T>mi::​Sint32  ( 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  ( const mi::​neuraylib::​IValue* value, bool& v)
This specialization handles mi::neuraylib::IValue_bool. More...
mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​Float32& v)
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​Float64& v)
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
mi::​Sint32  ( 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>mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​math::​Vector < T , DIM >& v)
This specialization handles mi::neuraylib::IValue_vector. More...
template< class T, Size, Size>mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​math::​Matrix < T , ROW , COL >& v)
This specialization handles mi::neuraylib::IValue_matrix. More...
mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​math::​Color& v)
This specialization handles mi::neuraylib::IValue_color. More...
mi::​Sint32  ( const mi::​neuraylib::​IValue* value, mi::​math::​Spectrum& v)
This specialization handles mi::neuraylib::IValue_color. More...
template< class T>mi::​Sint32  ( 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  ( 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  ( const mi::​neuraylib::​IValue* value, T* v, mi::​Size n)
This variant handles entire arrays. More...
template< class T>T* mi_factory( void* symbol)
Convenience function to ease the use of mi_factory(). More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is not equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is less than rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is less than or equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is greater than rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is greater than or equal to rhs. More...
base::​Handle < >  ( 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...
template< class T>mi::​Sint32  ( 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  ( mi::​neuraylib::​IValue* value, const bool& v)
This specialization handles mi::neuraylib::IValue_bool. More...
mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​Float32& v)
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​Float64& v)
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
mi::​Sint32  ( 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>mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​math::​Vector < T , DIM >& v)
This specialization handles mi::neuraylib::IValue_vector. More...
template< class T, Size, Size>mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​math::​Matrix < T , ROW , COL >& v)
This specialization handles mi::neuraylib::IValue_matrix. More...
mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​math::​Color& v)
This specialization handles mi::neuraylib::IValue_color. More...
mi::​Sint32  ( mi::​neuraylib::​IValue* value, const mi::​math::​Spectrum& v)
This specialization handles mi::neuraylib::IValue_color. More...
template< class T>mi::​Sint32  ( 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  ( 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  ( mi::​neuraylib::​IValue* value, const T* v, mi::​Size n)
This variant handles entire arrays. More...

Variables

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

Enums

enum mi::neuraylib::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 = 0
Disable stereo rendering.
STEREO_PAIRING_SEPARATE = 1
Stereo images are exported in separate files.
STEREO_PAIRING_LEFT_TO_RIGHT = 2
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 = 3
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.
STEREO_PAIRING_FORCE_32_BIT = 0xffffffffU

Functions

template< class T>

T* mi::neuraylib::mi_factory( void* symbol) [inline]

Convenience function to ease the use of mi_factory().

Parameters

symbol
pointer 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.