ai_noise.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_vector.h"
14#include "ai_api.h"
15
26AI_API AI_DEVICE AI_CONST float AiPerlin2(AtVector2 p);
27AI_API AI_DEVICE AI_CONST float AiPerlin3(AtVector p);
28AI_API AI_DEVICE AI_CONST float AiPerlin4(AtVector p, float time);
29/*\}*/
30
34AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin2(AtVector2 p, int periodx, int periody);
35AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin3(AtVector p, int periodx, int periody, int periodz);
36AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin4(AtVector p, float time, int periodx, int periody, int periodz, int periodt);
37/*\}*/
38
42AI_API AI_DEVICE AI_CONST float AiNoise2 (AtVector2 p, int octaves, float distortion, float lacunarity);
43AI_API AI_DEVICE AI_CONST float AiNoise3 (AtVector p, int octaves, float distortion, float lacunarity);
44AI_API AI_DEVICE AI_CONST float AiNoise4 (AtVector p, float time, int octaves, float distortion, float lacunarity);
45AI_API AI_DEVICE AI_CONST AtVector2 AiVNoise2(AtVector2 p, int octaves, float distortion, float lacunarity);
46AI_API AI_DEVICE AI_CONST AtVector AiVNoise3(AtVector p, int octaves, float distortion, float lacunarity);
47AI_API AI_DEVICE AI_CONST AtVector AiVNoise4(AtVector p, float time, int octaves, float distortion, float lacunarity);
48/*\}*/
49
53AI_API AI_DEVICE void AiCellular(AtVector p, int n, int octaves, float lacunarity, float randomness, float* F, AtVector* delta = NULL, uint32_t* ID = NULL);
54AI_API AI_DEVICE AI_CONST float AiCellNoise2(AtVector2 p);
55AI_API AI_DEVICE AI_CONST float AiCellNoise3(AtVector p);
56AI_API AI_DEVICE AI_CONST float AiCellNoise4(AtVector p, float t);
57AI_API AI_DEVICE AI_CONST AtVector2 AiVCellNoise2(AtVector2 p);
58AI_API AI_DEVICE AI_CONST AtVector AiVCellNoise3(AtVector p);
59AI_API AI_DEVICE AI_CONST AtVector AiVCellNoise4(AtVector p, float t);
60/*\}*/
61
62/*\}*/
DLL export prefix for API functions (necessary for multi-platform development)
Vector math types, operators and utilities.
AI_API AI_DEVICE AI_CONST AtVector AiVCellNoise4(AtVector p, float t)
Four-dimensional vector cell noise function.
Definition: ai_perlin.cpp:1131
AI_API AI_DEVICE AI_CONST AtVector AiVNoise4(AtVector p, float time, int octaves, float distortion, float lacunarity)
Four-dimensional fractal vector noise function.
Definition: ai_perlin.cpp:995
AI_API AI_DEVICE AI_CONST float AiNoise2(AtVector2 p, int octaves, float distortion, float lacunarity)
Two-dimensional fractal noise function.
Definition: ai_perlin.cpp:779
AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin4(AtVector p, float time, int periodx, int periody, int periodz, int periodt)
Four-dimensional Periodic Perlin noise function.
Definition: ai_perlin.cpp:694
AI_API AI_DEVICE void AiCellular(AtVector p, int n, int octaves, float lacunarity, float randomness, float *F, AtVector *delta=NULL, uint32_t *ID=NULL)
Three-dimensional fractal cellular noise function.
Definition: ai_cell.cpp:329
AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin3(AtVector p, int periodx, int periody, int periodz)
Three-dimensional Periodic Perlin noise function.
Definition: ai_perlin.cpp:627
AI_API AI_DEVICE AI_CONST AtVector2 AiVCellNoise2(AtVector2 p)
Two-dimensional vector cell noise function.
Definition: ai_perlin.cpp:1083
AI_API AI_DEVICE AI_CONST float AiPerlin2(AtVector2 p)
Two-dimensional Perlin noise function.
Definition: ai_perlin.cpp:338
AI_API AI_DEVICE AI_CONST AtVector AiVCellNoise3(AtVector p)
Three-dimensional vector cell noise function.
Definition: ai_perlin.cpp:1104
AI_API AI_DEVICE AI_CONST float AiCellNoise3(AtVector p)
Three-dimensional cell noise function.
Definition: ai_perlin.cpp:1039
AI_API AI_DEVICE AI_CONST AtVector2 AiVNoise2(AtVector2 p, int octaves, float distortion, float lacunarity)
Two-dimensional fractal vector noise function.
Definition: ai_perlin.cpp:940
AI_API AI_DEVICE AI_CONST float AiNoise4(AtVector p, float time, int octaves, float distortion, float lacunarity)
Four-dimensional fractal noise function.
Definition: ai_perlin.cpp:889
AI_API AI_DEVICE AI_CONST float AiPerlin4(AtVector p, float time)
Four-dimensional Perlin noise function.
Definition: ai_perlin.cpp:490
AI_API AI_DEVICE AI_CONST float AiPeriodicPerlin2(AtVector2 p, int periodx, int periody)
Two-dimensional Periodic Perlin noise function.
Definition: ai_perlin.cpp:585
AI_API AI_DEVICE AI_CONST float AiPerlin3(AtVector p)
Three-dimensional Perlin noise function.
Definition: ai_perlin.cpp:401
AI_API AI_DEVICE AI_CONST float AiCellNoise4(AtVector p, float t)
Four-dimensional cell noise function.
Definition: ai_perlin.cpp:1061
AI_API AI_DEVICE AI_CONST AtVector AiVNoise3(AtVector p, int octaves, float distortion, float lacunarity)
Three-dimensional fractal vector noise function.
Definition: ai_perlin.cpp:967
AI_API AI_DEVICE AI_CONST float AiCellNoise2(AtVector2 p)
Two-dimensional cell noise function.
Definition: ai_perlin.cpp:1021
AI_API AI_DEVICE AI_CONST float AiNoise3(AtVector p, int octaves, float distortion, float lacunarity)
Three-dimensional fractal noise function.
Definition: ai_perlin.cpp:836
2D point
Definition: ai_vector.h:255
3D point (single precision)
Definition: ai_vector.h:30

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