Documentation
¶
Index ¶
- func Cellular(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Cellular2(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Cellular3(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Cellular4(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Cellular5(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Cellular6(coord, size vector2.Float64, folds, octaves int, ...) float64
- func CubicHermite(t float64) float64
- func Grad(hash int, x, y, z float64) float64
- func Noise1D(p float64, f, g sample.FloatToFloat) float64
- func Noise2D(p vector2.Float64, f sample.FloatToFloat, g sample.Vec2ToVec2) float64
- func Noise3D(p vector3.Float64, fade sample.FloatToFloat, grad sample.Vec3ToVec3) float64
- func Perlin(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Perlin1D(x float64) float64
- func Perlin2D(v vector2.Float64) float64
- func Perlin3D(pos vector3.Float64) float64
- func PerlinAbs(coord, size vector2.Float64, folds, octaves int, ...) float64
- func QuinticInterpolation(t float64) float64
- func Simplex(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Value(coord, size vector2.Float64, folds, octaves int, ...) float64
- func Voronoise(coord, size vector2.Float64, folds, octaves int, ...) float64
- type DistanceField
- type Perlin1DNode
- type Perlin2DNode
- type Perlin3DNode
- type Stack2D
- type Stack2DEntry
- type TilingNoise
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 Noise2D(p vector2.Float64, f sample.FloatToFloat, g sample.Vec2ToVec2) float64
func Noise3D ¶ added in v0.9.0
func Noise3D(p vector3.Float64, fade sample.FloatToFloat, grad sample.Vec3ToVec3) float64
func QuinticInterpolation ¶
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
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
type Stack2DEntry ¶
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
Click to show internal directories.
Click to hide internal directories.