NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Main Iray Interface and C access function

The main Iray Interface and the unique public access point. More...

Classes

class   mi::neuraylib::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   mi::neuraylib::INeuray
  This is an object representing the Iray library. More...
 

Functions

mi::neuraylib::INeuray mi_neuray_factory (mi::neuraylib::IAllocator *allocator=0, mi::Uint32 version=MI_NEURAYLIB_API_VERSION)
  Unique public access point to the Iray API. More...
 

Detailed Description

The main Iray Interface and the unique public access point.

Function Documentation

mi::neuraylib::INeuray* mi_neuray_factory ( mi::neuraylib::IAllocator allocator = 0,
mi::Uint32  version = MI_NEURAYLIB_API_VERSION 
)

Unique public access point to the Iray API.

This factory function is the only public access point to all algorithms and data structures in the Iray library. It returns a pointer to an instance of the main mi::neuraylib::INeuray interface, which is used to configure, to start up, to operate, and to shut down Iray. The mi_neuray_factory() function may be called only once.

Parameters
allocator The memory allocator to be used. This feature is not yet supported.
version The desired version of mi::neuraylib::INeuray. The parameter is an integer number that specifies the desired API version, which is set by default to the current API version given in the symbolic constant MI_NEURAYLIB_API_VERSION. This parameter supports the use case where an application uses an older Iray API version but links with a newer Iray library. In this case, the newer library can still support the older API in a binary compatible fashion. Only in rare circumstances do you need to set the API version number explicitly.
Returns
A pointer to an instance of the main mi::neuraylib::INeuray interface, or NULL in case of failures. Possible reasons for failures are
  • allocator is not NULL,
  • the valued passed for version is not supported by this library, or
  • the function is called a second time. A typical cause for the second reason is that the library used at runtime does not match the headers used at compile time.