Loading of external dynamically linked plugins into Arnold. More...
Data Structures | |
struct | AtNodeLib |
Used by dynamically-linked nodes to return node info. More... | |
Macros | |
#define | AI_EXPORT_LIB AI_EXTERN_C AI_DLL_EXPORT |
Used by dynamically-linked nodes to export the entry-point function. | |
Functions | |
AI_API void | AiLoadPlugins (const char *directory) |
Dynamically load plug-ins from a list of libraries. More... | |
Loading of external dynamically linked plugins into Arnold.
AI_API void AiLoadPlugins | ( | const char * | file_or_dir | ) |
Dynamically load plug-ins from a list of libraries.
Dynamically loads plug-in nodes from a list of libraries given by their file names or by the paths to the directories where they reside.
Plug-in nodes are stored in dynamic libraries, or library modules. The extension of these files is system-dependent:
Library modules must define an entry-point function (the plug-in "hook") called NodeLoader()
. The Arnold API provides a handy wrapper for this hook called node_loader, which plug-in writers are encouraged to use.
A single library module can contain one or more Arnold nodes of any of the available node classes, such as shaders, cameras, drivers, etc.
file_or_dir | a list of multiple entries (separated by ':' in Linux/OSX or ';' in Windows), where each entry can be a library file name or a directory, that will be searched for library files |