reckfellENGINE

Noise

Coordinate-noise and CPU-image generation interface.

On this page
class NoiseReckfellSharpInherits Resource

Use an implementation such as FastNoiseLite; Noise is not a concrete ready-to-use generator. Numeric samples, grayscale Images and GPU textures are different data. For a heightfield, define coordinates and value scale first; L8 is not the original float data.

Base Image methods sample an integer grid from zero. Normalize stretches one image or the entire requested volume; this can change contrast between separately generated neighboring chunks. For a continuous world, supply consistent coordinates and a common value mapping.

Seamless blending targets repeating images, not arbitrary world stitching. FastNoiseLite 1.0.0 has reproduced GetNoise1D/Offset.x and seamless depth=1 limitations, documented on those methods. CPU samples/bytes/dimensions were tested; visual seams, GPU behavior and large requests were not accepted.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Methods9

GetImageImage
# GetImage
C#
public Image GetImage(int width, int height, bool invert = false, bool in3DSpace = false, bool normalize = true);

Synchronously creates a CPU Image. The base implementation and FastNoiseLite sample integer x/y from 0 and return L8 without mipmaps. in3DSpace=true takes the z=0 slice; false uses 2D. normalize=true stretches this image min/max to 0..255; a constant field becomes black. false maps −1..1 to 0..255 with clipping and precision loss. invert replaces each byte with 255−byte. Creates no GPU texture and saves no file.

Parameters
NameTypeDefault
widthint—
heightint—
invertboolfalse
in3DSpaceboolfalse
normalizebooltrue
width

Positive image width; bound it for CPU time and memory.

height

Positive image height, not world dimensions.

invert

Inverts brightness after byte mapping; changes neither seed nor generator samples.

in3DSpace

true samples 3D at z=0; false samples 2D. Implementation Offset applies.

normalize

true stretches min/max of the entire requested field; false uses fixed mapping with clipping.

Returns Image

New owned CPU Image, or null with diagnostics for invalid conditions.

GetImage3DReckfell.Collections.Array<Image>
# GetImage3D
C#
public Reckfell.Collections.Array<Image> GetImage3D(int width, int height, int depth, bool invert = false, bool normalize = true);

Creates a typed Array<Image> of CPU slices z=0..depth−1, not ImageTexture3D. The base implementation/FastNoiseLite produces L8 without mipmaps; normalize=true uses one min/max across the ENTIRE requested volume. Separately normalized chunks can have different brightness scales; use a shared mapping for consistent numeric heightfields. Dispose owned Images after use; typed Array has no Dispose method.

Parameters
NameTypeDefault
widthint—
heightint—
depthint—
invertboolfalse
normalizebooltrue
width

Positive image width; bound it for CPU time and memory.

height

Positive image height, not world dimensions.

depth

Positive Z-slice count; for seamless depth=1 in 1.0.0 check the extra-layer limitation.

invert

Inverts brightness after byte mapping; changes neither seed nor generator samples.

normalize

true stretches min/max of the entire requested field; false uses fixed mapping with clipping.

Returns Reckfell.Collections.Array<Image>

Typed Array<Image> of CPU layers; dispose owned Images and check actual Count.

GetNoise1Dfloat
# GetNoise1D
C#
public float GetNoise1D(float x);

Returns a numeric sample from the Noise implementation. FastNoiseLite 1.0.0 uses a 2D slice with extra preprocessing: Offset.x is applied twice with warp disabled. Use GetNoise2D(x, 0) for a single-offset slice. Range depends on the algorithm; not necessarily 0..1.

Parameters
NameTypeDefault
xfloat—
x

Finite input-field X coordinate; implementation/Frequency supplies scale.

Returns float

Numeric algorithm sample, not a guaranteed probability or normalized height.

GetNoise2Dfloat
# GetNoise2D
C#
public float GetNoise2D(float x, float y);

Samples noise at x/y coordinates rather than indexing a finished Image. FastNoiseLite applies Offset.X/Y, warp and Frequency. Use consistent global coordinates for adjacent terrain chunks instead of restarting each at zero. Does not guarantee a universal [−1,1] range.

Parameters
NameTypeDefault
xfloat—
yfloat—
x

Finite input-field X coordinate; implementation/Frequency supplies scale.

y

Finite Y coordinate in the same field.

Returns float

Numeric algorithm sample, not a guaranteed probability or normalized height.

GetNoise2Dvfloat
# GetNoise2Dv
C#
public float GetNoise2Dv(Vector2 v);

Vector form of GetNoise2D(v.X, v.Y), with the same settings and range. Does not automatically transform Entity coordinates.

Parameters
NameTypeDefault
vVector2—
v

Finite input-field coordinates in Vector2/Vector3.

Returns float

Numeric algorithm sample, not a guaranteed probability or normalized height.

GetNoise3Dfloat
# GetNoise3D
C#
public float GetNoise3D(float x, float y, float z);

Samples volumetric x/y/z noise, not independent 2D maps: changing z selects another slice of the same field. FastNoiseLite applies all three Offset components and 3D warp. Coordinates can be varied for animation, but the API does not automatically consume elapsed seconds.

Parameters
NameTypeDefault
xfloat—
yfloat—
zfloat—
x

Finite input-field X coordinate; implementation/Frequency supplies scale.

y

Finite Y coordinate in the same field.

z

Finite volumetric-field Z coordinate.

Returns float

Numeric algorithm sample, not a guaranteed probability or normalized height.

GetNoise3Dvfloat
# GetNoise3Dv
C#
public float GetNoise3Dv(Vector3 v);

Vector form of GetNoise3D(v.X, v.Y, v.Z), not a pixel or voxel lookup in a finished resource.

Parameters
NameTypeDefault
vVector3—
v

Finite input-field coordinates in Vector2/Vector3.

Returns float

Numeric algorithm sample, not a guaranteed probability or normalized height.

GetSeamlessImageImage
# GetSeamlessImage
C#
public Image GetSeamlessImage(int width, int height, bool invert = false, bool in3DSpace = false, float skirt = 0.1f, bool normalize = true);

Creates a repeatable CPU image by blending an expanded field. skirt is an extra-field fraction, not pixels: even 0 retains at least one extra pixel. Not the same field as unblended GetImage and not a solution for arbitrary adjacent chunks. Use positive dimensions and a sensible finite skirt; negatives are rejected. Dimensions/format were tested, but visual seam quality and extreme skirts were not accepted.

Parameters
NameTypeDefault
widthint—
heightint—
invertboolfalse
in3DSpaceboolfalse
skirtfloat0.1f
normalizebooltrue
width

Positive image width; bound it for CPU time and memory.

height

Positive image height, not world dimensions.

invert

Inverts brightness after byte mapping; changes neither seed nor generator samples.

in3DSpace

true samples 3D at z=0; false samples 2D. Implementation Offset applies.

skirt

Sensible finite nonnegative extra-field fraction, default 0.1, not pixels. Large values increase work and were not accepted.

normalize

true stretches min/max of the entire requested field; false uses fixed mapping with clipping.

Returns Image

New owned CPU Image, or null with diagnostics for invalid conditions.

GetSeamlessImage3DReckfell.Collections.Array<Image>
# GetSeamlessImage3D
C#
public Reckfell.Collections.Array<Image> GetSeamlessImage3D(int width, int height, int depth, bool invert = false, float skirt = 0.1f, bool normalize = true);

Creates CPU slices blended across three axes. In 1.0.0 depth=1 retains an extra skirt layer: check Count; for one 3D slice use GetSeamlessImage(..., in3DSpace:true) when X/Y seamlessness suffices. A depth=4 volume was tested; do not assume every size/skirt combination is valid. normalize applies to the expanded field. Creates no GPU volume and proves no absence of visible seams.

Parameters
NameTypeDefault
widthint—
heightint—
depthint—
invertboolfalse
skirtfloat0.1f
normalizebooltrue
width

Positive image width; bound it for CPU time and memory.

height

Positive image height, not world dimensions.

depth

Positive Z-slice count; for seamless depth=1 in 1.0.0 check the extra-layer limitation.

invert

Inverts brightness after byte mapping; changes neither seed nor generator samples.

skirt

Sensible finite nonnegative extra-field fraction, default 0.1, not pixels. Large values increase work and were not accepted.

normalize

true stretches min/max of the entire requested field; false uses fixed mapping with clipping.

Returns Reckfell.Collections.Array<Image>

Typed Array<Image> of CPU layers; dispose owned Images and check actual Count.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.