From 7116f491184e487c5598c4eea4b27689b93b289a Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Tue, 4 Aug 2020 10:22:42 +0200 Subject: [PATCH] [orx-noise] Add Vector2/3/4 simplex short-hands --- orx-noise/src/main/kotlin/SimplexNoise2D.kt | 5 ++++- orx-noise/src/main/kotlin/SimplexNoise3D.kt | 6 +++++- orx-noise/src/main/kotlin/SimplexNoise4D.kt | 6 ++++++ orx-noise/src/main/kotlin/ValueNoise1D.kt | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/orx-noise/src/main/kotlin/SimplexNoise2D.kt b/orx-noise/src/main/kotlin/SimplexNoise2D.kt index e46654ad..2c34689d 100644 --- a/orx-noise/src/main/kotlin/SimplexNoise2D.kt +++ b/orx-noise/src/main/kotlin/SimplexNoise2D.kt @@ -61,4 +61,7 @@ fun simplex(seed: Int, x: Double, y: Double): Double { } return 50.0 * (n0 + n1 + n2) -} \ No newline at end of file +} + +fun Vector2.Companion.simplex(seed: Int, x: Double): Vector2 = Vector2(simplex(seed, x, 0.0, 0.0, 0.0), + simplex(seed, 0.0, x + 31.3383, 0.0, 0.0)) \ No newline at end of file diff --git a/orx-noise/src/main/kotlin/SimplexNoise3D.kt b/orx-noise/src/main/kotlin/SimplexNoise3D.kt index cdfdb7b9..52da64e8 100644 --- a/orx-noise/src/main/kotlin/SimplexNoise3D.kt +++ b/orx-noise/src/main/kotlin/SimplexNoise3D.kt @@ -99,4 +99,8 @@ fun simplex(seed: Int, x: Double, y: Double, z: Double): Double { } } return 32 * (n0 + n1 + n2 + n3) -} \ No newline at end of file +} + +fun Vector3.Companion.simplex(seed: Int, x: Double): Vector3 = Vector3(simplex(seed, x, 0.0, 0.0), + simplex(seed, 0.0, x + 31.3383, 0.0), + simplex(seed, 0.0, 0.0, x - 483.23)) \ No newline at end of file diff --git a/orx-noise/src/main/kotlin/SimplexNoise4D.kt b/orx-noise/src/main/kotlin/SimplexNoise4D.kt index 29d705e5..62feece2 100644 --- a/orx-noise/src/main/kotlin/SimplexNoise4D.kt +++ b/orx-noise/src/main/kotlin/SimplexNoise4D.kt @@ -106,3 +106,9 @@ fun simplex(seed: Int, x: Double, y: Double, z: Double, w: Double): Double { return 27 * (n0 + n1 + n2 + n3 + n4) } + +fun Vector4.Companion.simplex(seed: Int, x: Double): Vector4 = Vector4(simplex(seed, x, 0.0, 0.0, 0.0), + simplex(seed, 0.0, x + 31.3383, 0.0, 0.0), + simplex(seed, 0.0, 0.0, x - 483.23, 0.0), + simplex(seed, 0.0, 0.0, 0.0, x + 943.3) +) \ No newline at end of file diff --git a/orx-noise/src/main/kotlin/ValueNoise1D.kt b/orx-noise/src/main/kotlin/ValueNoise1D.kt index f9a8004f..86b5e880 100644 --- a/orx-noise/src/main/kotlin/ValueNoise1D.kt +++ b/orx-noise/src/main/kotlin/ValueNoise1D.kt @@ -5,4 +5,4 @@ fun valueQuintic(seed: Int, x: Double) = value(seed, x, ::quintic) fun valueHermite(seed: Int, x: Double) = value(seed, x, ::hermite) inline fun value(seed: Int, x: Double, crossinline interpolation: (Double) -> Double = ::linear): Double = - value(seed, x, 0.0) \ No newline at end of file + value(seed, x, 0.0, interpolation) \ No newline at end of file