noise

package
v0.37.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cellular added in v0.33.0

func Cellular(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Cellular2 added in v0.33.0

func Cellular2(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Cellular3 added in v0.33.0

func Cellular3(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Cellular4 added in v0.33.0

func Cellular4(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Cellular5 added in v0.33.0

func Cellular5(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Cellular6 added in v0.33.0

func Cellular6(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func CubicHermite

func CubicHermite(t float64) float64

Cubic Hermite Curve

func Grad added in v0.9.0

func Grad(hash int, x, y, z float64) float64

func Noise1D added in v0.9.0

func Noise1D(p float64, f, g sample.FloatToFloat) float64

https://gpfault.net/posts/perlin-noise.txt.html

(1 - F(p-p0))g(p0)(p-p0) + F(p-p0)g(p1)(p-p1)

func Noise2D added in v0.9.0

func Noise3D added in v0.9.0

func Perlin added in v0.33.0

func Perlin(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Perlin1D

func Perlin1D(x float64) float64

func Perlin2D

func Perlin2D(v vector2.Float64) float64

func Perlin3D added in v0.9.0

func Perlin3D(pos vector3.Float64) float64

func PerlinAbs added in v0.33.0

func PerlinAbs(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func QuinticInterpolation

func QuinticInterpolation(t float64) float64

Quintic interpolation curve

func Simplex added in v0.33.0

func Simplex(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Value added in v0.33.0

func Value(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

func Voronoise added in v0.33.0

func Voronoise(coord, size vector2.Float64, folds, octaves int, persistence, offset, seed float64) float64

Types

type DistanceField

type DistanceField struct {
	// contains filtered or unexported fields
}

func NewDistanceField

func NewDistanceField(xCells, yCells int, size vector2.Float64) *DistanceField

func (DistanceField) Sample

func (df DistanceField) Sample(in vector2.Float64) float64

type Perlin1DNode added in v0.23.0

type Perlin1DNode struct {
	Time      nodes.Output[[]float64]
	Shift     nodes.Output[float64]
	Amplitude nodes.Output[float64]
	Frequency nodes.Output[float64]
}

func (Perlin1DNode) Out added in v0.32.0

func (cn Perlin1DNode) Out(out *nodes.StructOutput[[]float64])

type Perlin2DNode added in v0.23.0

type Perlin2DNode struct {
	Time      nodes.Output[[]vector2.Float64]
	Amplitude nodes.Output[float64]
	Frequency nodes.Output[vector2.Float64]
	Shift     nodes.Output[vector2.Float64]
}

func (Perlin2DNode) Out added in v0.32.0

func (cn Perlin2DNode) Out(out *nodes.StructOutput[[]float64])

type Perlin3DNode added in v0.23.0

type Perlin3DNode struct {
	Time      nodes.Output[[]vector3.Float64]
	Amplitude nodes.Output[float64]
	Frequency nodes.Output[vector3.Float64]
	Shift     nodes.Output[vector3.Float64]
}

func (Perlin3DNode) Out added in v0.32.0

func (cn Perlin3DNode) Out(out *nodes.StructOutput[[]float64])

type Stack2D

type Stack2D struct {
	// contains filtered or unexported fields
}

func PerlinStack

func PerlinStack(entries ...Stack2DEntry) Stack2D

func (Stack2D) Value

func (s2d Stack2D) Value(v vector2.Float64) float64

type Stack2DEntry

type Stack2DEntry struct {
	Scalar    float64
	Amplitude float64
}

type TilingNoise added in v0.10.0

type TilingNoise struct {
	// contains filtered or unexported fields
}

Tiling noise implementation comes from this answer: https://gamedev.stackexchange.com/questions/23625/how-do-you-generate-tileable-perlin-noise

And simply takes advantage of perlin noise repeatability

func NewDefaultTilingNoise added in v0.10.0

func NewDefaultTilingNoise() *TilingNoise

func NewTilingNoise added in v0.10.0

func NewTilingNoise(size int, frequncy float64, octaves int) *TilingNoise

func (*TilingNoise) Noise added in v0.10.0

func (tn *TilingNoise) Noise(x, y int) float64

func (*TilingNoise) NoiseAtPermutation added in v0.10.0

func (tn *TilingNoise) NoiseAtPermutation(v vector2.Float64, per int) float64

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL