OpenSimplex2 1.0.129.5289e30
The most fast implementation of the OpenSimplex noise (2D, 3D and 4D) in C
Loading...
Searching...
No Matches
OpenSimplex2F.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019-2020 KdotJPG (original work, previous license:
3 * CC0 1.0 Universal, public domain dedication).
4 *
5 * Copyright (C) 2026 QuasarApp Group DOO
6 * Licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0),
7 * see the accompanying LICENSE file.
8 */
9
10#ifndef OpenSimplex2F_h__
11#define OpenSimplex2F_h__
12
28
29#if ((__GNUC_STDC_INLINE__) || (__STDC_VERSION__ >= 199901L))
30 #include <stdint.h>
31 #define INLINE inline
32#elif (defined (_MSC_VER) || defined (__GNUC_GNU_INLINE__))
33 #include <stdint.h>
34 #define INLINE __inline
35#else
36 /* ANSI C doesn't have inline or stdint.h. */
37 #define INLINE
38#endif
39
40#ifdef __cplusplus
41 extern "C" {
42#endif
43
45
46/* Allocate and initialize OpenSimplex2F context */
47int OpenSimplex2F(int64_t seed, struct OpenSimplex2F_context **ctx);
48
49/* Free OpenSimplex2F context */
51
52/* Free singleton lattice point data */
53void OpenSimplex2F_shutdown(void);
54
58double OpenSimplex2F_noise2(struct OpenSimplex2F_context *ctx, double x, double y);
59
65double OpenSimplex2F_noise2_XBeforeY(struct OpenSimplex2F_context *ctx, double x, double y);
66
72double OpenSimplex2F_noise3_Classic(struct OpenSimplex2F_context *ctx, double x, double y, double z);
73
82double OpenSimplex2F_noise3_XYBeforeZ(struct OpenSimplex2F_context *ctx, double x, double y, double z);
83
92double OpenSimplex2F_noise3_XZBeforeY(struct OpenSimplex2F_context *ctx, double x, double y, double z);
93
97double OpenSimplex2F_noise4_Classic(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w);
98
104double OpenSimplex2F_noise4_XYBeforeZW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w);
105
110double OpenSimplex2F_noise4_XZBeforeYW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w);
111
117double OpenSimplex2F_noise4_XYZBeforeW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w);
118
119#ifdef __cplusplus
120 }
121#endif
122
123#endif
124
double OpenSimplex2F_noise4_XYBeforeZW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w)
4D OpenSimplex2F noise, with XY and ZW forming orthogonal triangular-based planes.
Definition OpenSimplex2F.c:892
double OpenSimplex2F_noise2_XBeforeY(struct OpenSimplex2F_context *ctx, double x, double y)
2D Simplex noise, with Y pointing down the main diagonal.
Definition OpenSimplex2F.c:691
double OpenSimplex2F_noise4_XYZBeforeW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w)
4D OpenSimplex2F noise, with XYZ oriented like noise3_Classic, and W for an extra degree of freedom.
Definition OpenSimplex2F.c:920
double OpenSimplex2F_noise3_Classic(struct OpenSimplex2F_context *ctx, double x, double y, double z)
3D Re-oriented 4-point BCC noise, classic orientation.
Definition OpenSimplex2F.c:705
double OpenSimplex2F_noise2(struct OpenSimplex2F_context *ctx, double x, double y)
2D Simplex noise, standard lattice orientation.
Definition OpenSimplex2F.c:677
double OpenSimplex2F_noise3_XYBeforeZ(struct OpenSimplex2F_context *ctx, double x, double y, double z)
3D Re-oriented 4-point BCC noise, with better visual isotropy in (X, Y).
Definition OpenSimplex2F.c:725
void OpenSimplex2F_free(struct OpenSimplex2F_context *ctx)
Definition OpenSimplex2F.c:530
double OpenSimplex2F_noise3_XZBeforeY(struct OpenSimplex2F_context *ctx, double x, double y, double z)
3D Re-oriented 4-point BCC noise, with better visual isotropy in (X, Z).
Definition OpenSimplex2F.c:747
double OpenSimplex2F_noise4_XZBeforeYW(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w)
4D OpenSimplex2F noise, with XZ and YW forming orthogonal triangular-based planes.
Definition OpenSimplex2F.c:906
double OpenSimplex2F_noise4_Classic(struct OpenSimplex2F_context *ctx, double x, double y, double z, double w)
4D OpenSimplex2F noise, classic lattice orientation.
Definition OpenSimplex2F.c:878
void OpenSimplex2F_shutdown(void)
Definition OpenSimplex2F.c:495
int OpenSimplex2F(int64_t seed, struct OpenSimplex2F_context **ctx)
Definition OpenSimplex2F.c:543
Definition OpenSimplex2F.c:149