noise

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 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 QuinticInterpolation

func QuinticInterpolation(t float64) float64

Quintic interpolation curve

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 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