Enum NoiseAlgorithm
Specifies the underlying coherent noise generation algorithm used by NoiseGenerator and WarpSettings. Each algorithm has distinct visual characteristics, performance trade-offs, and mathematical properties.
Namespace: Scylla.Core.Util.Noise
Assembly: ScyllaCore.dll
Syntax
public enum NoiseAlgorithm
Remarks
All listed algorithms produce values in approximately [-1, 1] for single-octave gradient-based evaluation. Value and Value-Cubic algorithms have a slightly blockier visual character compared to gradient-based algorithms.
Performance order from fastest to slowest (approximate, single 2D evaluation): Value ≈ ValueCubic < OpenSimplex2 < Perlin. Perlin uses a lazily allocated 512-element permutation table (2 KB), while the other three algorithms are hash-based and require no additional memory.
This enum is consumed by Algorithm, Algorithm, and the direct evaluation methods on NoiseGenerator such as Evaluate2D(float, float, NoiseAlgorithm) and Evaluate3D(float, float, float, NoiseAlgorithm).
Fields
| Name | Description |
|---|---|
| OpenSimplex2 | OpenSimplex2 noise - a patent-free, open-source alternative to Simplex noise. Uses a triangular lattice structure in 2D and a Body-Centered Cubic (BCC) lattice in 3D, providing excellent directional isotropy with minimal visible grid artifacts. This is the recommended default for most procedural generation tasks. |
| Perlin | Ken Perlin's Improved Perlin Noise (2002 revision). Uses a seeded permutation table
of 512 integers for gradient selection and a quintic fade curve
( |
| Value | Value noise. Assigns a random hash value to each integer lattice vertex and interpolates between neighboring vertices using the quintic fade curve. Simpler and slightly faster than gradient noise algorithms, but with a more pronounced grid-aligned blocky character because the values, rather than gradients, are hashed. |
| ValueCubic | Value-Cubic noise. Like Value, hashes values at integer lattice vertices, but uses Catmull-Rom cubic interpolation instead of the quintic fade curve. The cubic interpolation reduces the sharp grid-aligned banding visible in standard Value noise, producing a smoother and more natural-looking result while remaining faster than full gradient noise. |