19#error "Users can directly include ai.h, but arnold core code must not."
Autodesk Analytics Program.
Memory allocation routines.
Generic array data type and methods.
Axis-aligned bounding box types and utilities.
API for writing camera nodes.
Color types and utilities.
API for writing color managers.
Various useful constants.
Critical section type that helps when writing multi-platform threaded code.
API for managing gpu rendering.
API for reading and writing the .ass scene file format.
Basic utility functions for output drivers.
API for writing AOV driver nodes.
Enum data type and utility functions.
API for the usage and configuration of customer error reporting (CER)
API for writing pixel-filtering nodes.
Utility functions for the configuration of the licensing system.
Matrix math type and methods.
API for logging messages of different severities - info, warnings, errors.
AtNode struct and methods.
Perlin noise and Worley cellular noise, in both scalar and vector flavors.
API for writing operator nodes.
Runtime loading of plugin nodes.
API for writing procedural geometry nodes.
Ray struct and various trace functions.
API for managing rendering sessions.
A generic, two-dimensional sampler that is sometimes useful when writing shaders.
API for reading and writing scene file formats.
AOV-writing functions for shaders.
Various BSDF functions available to shader writers.
Shader utilities for sampling direct lighting from light sources.
Message passing API for shader writers.
Manual evaluation of shader inputs and their networks.
Radiance and irradiance lookup functions.
Struct returned by AiTrace(), called "screen sample" for legacy reasons.
SSS functions for shaders.
User data functions for shaders.
Various utility functions for shader writers.
Volume functions for shaders.
Shader globals struct, methods and macros.
API for writing shader nodes.
API for render statistics output.
Multi-platform API for the creation and management of CPU threads.
API for executing unit tests.
Global entry point to the scene graph elements (options, camera, lights, etc)
Vector math types, operators and utilities.
Version number information and checking of backwards-compatibility.
API for writing volume and implicit surface plugins.