Documentation ¶
Index ¶
- 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 Perlin1D(x float64) float64
- func Perlin2D(v vector2.Float64) float64
- func Perlin3D(pos vector3.Float64) float64
- func QuinticInterpolation(t float64) float64
- type DistanceField
- 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 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.