ai.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
16#pragma once
17
18#ifdef _ARNOLDDLL
19#error "Users can directly include ai.h, but arnold core code must not."
20#endif
21
22// dso's
23#include "ai_procedural.h"
24#include "ai_volume.h"
25#include "ai_plugins.h"
26#include "ai_operator.h"
27
28// node types
29#include "ai_color_managers.h"
30#include "ai_drivers.h"
31#include "ai_driver_utils.h"
32#include "ai_filters.h"
33#include "ai_cameras.h"
34#include "ai_shaders.h"
35#include "ai_nodes.h"
36#include "ai_params.h"
37#include "ai_metadata.h"
38
39// scene loading/saving
40#include "ai_dotass.h"
41#include "ai_scene.h"
42
43// error/warning messages
44#include "ai_msg.h"
45
46// error reporting
47#include "ai_error_reporting.h"
48
49// profiler / stats
50#include "ai_stats.h"
51
52// ADP optin
53#include "ai_adp.h"
54
55// shader functions
56#include "ai_sampler.h"
57#include "ai_shader_aovs.h"
58#include "ai_shader_bsdf.h"
59#include "ai_shader_closure.h"
60#include "ai_shaderglobals.h"
61#include "ai_shader_lights.h"
62#include "ai_shader_message.h"
63#include "ai_shader_radiance.h"
64#include "ai_shader_sample.h"
65#include "ai_shader_sss.h"
66#include "ai_shader_userdef.h"
67#include "ai_shader_parameval.h"
68#include "ai_shader_util.h"
69#include "ai_shader_volume.h"
70#include "ai_noise.h"
71#include "ai_texture.h"
72
73// ray tracing
74#include "ai_ray.h"
75#include "ai_render.h"
76
77// core
78#include "ai_unit_test.h"
79#include "ai_universe.h"
80
81// system
82#include "ai_critsec.h"
83#include "ai_threads.h"
84
85// simple data types
86#include "ai_array.h"
87#include "ai_bbox.h"
88#include "ai_matrix.h"
89#include "ai_vector.h"
90#include "ai_color.h"
91#include "ai_enum.h"
92#include "ai_map.h"
93
94// misc math
95#include "ai_math.h"
96#include "ai_constants.h"
97
98// version info
99#include "ai_version.h"
100
101// licensing
102#include "ai_license.h"
103
104// memory allocation
105#include "ai_allocate.h"
106
107// render device APIs
108#include "ai_device.h"
109
110// materialx
111#include "ai_materialx.h"
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.
Key/Value storage.
API for MaterialX.
Math operations.
Matrix math type and methods.
API for writing and reading node metadata.
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.
Node parameters.
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 closures.
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.
Texture mapping system.
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.

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