MainneurayAdjectiveName Interface and C access function
[Neuray API]
Description
The main Interface and the unique public access point.
Classes
- 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
- This is an object representing the . 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 neuray API. 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 neuray API. This factory function is the only public access point to all algorithms and data structures in the . 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 . 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 neuray API version but links with a newer . 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.