ai_plugins.h
Go to the documentation of this file.
1// Copyright 2021 Autodesk, Inc. All rights reserved.
2//
3// Use of this software is subject to the terms of the Autodesk license
4// agreement provided at the time of installation or download, or which
5// otherwise accompanies this software in either electronic or hard copy form.
6
12#pragma once
13#include "ai_api.h"
14#include "ai_version.h"
15#include <stdint.h> // uint32_t etc
16
17#ifdef _WIN32
18#define AI_DLL_EXPORT __declspec(dllexport)
19#else
20#define AI_DLL_EXPORT __attribute__ ((visibility("default")))
21#endif
22
33#define AI_EXPORT_LIB AI_EXTERN_C AI_DLL_EXPORT
34
38struct AtNodeLib {
40 uint8_t output_type;
41 const char* name;
42 const void* methods;
43 char version[AI_MAXSIZE_VERSION];
44};
45
46AI_API void AiLoadPlugins(const char* directory);
47
48/*\}*/
DLL export prefix for API functions (necessary for multi-platform development)
Version number information and checking of backwards-compatibility.
uint8_t output_type
output type for shader nodes (AI_TYPE_RGB, etc)
Definition: ai_plugins.h:40
int node_type
type of node (AI_NODE_SHADER, AI_NODE_CAMERA, etc)
Definition: ai_plugins.h:39
const void * methods
pointer to this node's methods
Definition: ai_plugins.h:42
AI_API void AiLoadPlugins(const char *directory)
Dynamically load plug-ins from a list of libraries.
Definition: ai_plugins.cpp:45
char version[AI_MAXSIZE_VERSION]
Arnold version that this node was compiled against
Definition: ai_plugins.h:43
const char * name
name of this plug-in node ("lambert", etc)
Definition: ai_plugins.h:41
Used by dynamically-linked nodes to return node info.
Definition: ai_plugins.h:38

© 2022 Autodesk, Inc. · All rights reserved · www.arnoldrenderer.com