6#include "Math/MathFwd.h"
7#include "Math/Vector.h"
8#include "Math/Vector2D.h"
11
12
17 static constexpr int32 MaxDimension = 15;
21 static constexpr int32 MaxCell2DBits = 15;
25 static constexpr int32 MaxCell3DBits = 10;
29 static const int32 DirectionNumbers[MaxDimension + 1][32];
32 static const int32 GrayNumbers[MaxDimension + 1][32];
35 static const int32 Cell2DDirectionNumbers[MaxCell2DBits + 1][32][2];
38 static const int32 Cell2DGrayNumbers[MaxCell2DBits + 1][32][2];
41 static const int32 Cell3DDirectionNumbers[MaxCell3DBits + 1][32][3];
44 static const int32 Cell3DGrayNumbers[MaxCell3DBits + 1][32][3];
48
49
50
51
52
53
54
55 static float Evaluate(int32 Index, int32 Dim, int32 Seed = 0);
58
59
60
61
62
63
64
65 static float Next(int32 Index, int32 Dim,
float Value);
69
70
71
72
73
74
75
76
77 static FVector2D Evaluate(int32 Index, int32 CellBits, FIntPoint Cell, FIntPoint Seed);
80
81
82
83
84
85
86
87 static FVector2D Next(int32 Index, int32 CellBits, FVector2D Value);
91
92
93
94
95
96
97
98
99 static FVector Evaluate(int32 Index, int32 CellBits, FIntVector Cell, FIntVector Seed);
102
103
104
105
106
107
108
109 static FVector Next(int32 Index, int32 CellBits, FVector Value);
112 static uint16 ComputeGPUSpatialSeed(int32 x, int32 y, int32 Index);