diff --git a/src/main/java/com/volmit/iris/noise/CNG.java b/src/main/java/com/volmit/iris/noise/CNG.java index 512485649..d9b96c138 100644 --- a/src/main/java/com/volmit/iris/noise/CNG.java +++ b/src/main/java/com/volmit/iris/noise/CNG.java @@ -3,6 +3,9 @@ package com.volmit.iris.noise; import java.util.List; import com.volmit.iris.Iris; +import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream; +import com.volmit.iris.gen.v2.scaffold.stream.CNGStream; +import com.volmit.iris.gen.v2.scaffold.stream.FittedStream; import com.volmit.iris.util.IRare; import com.volmit.iris.util.IrisInterpolation; import com.volmit.iris.util.KList; @@ -44,6 +47,16 @@ public class CNG return generator; } + public ProceduralStream stream() + { + return new CNGStream(this); + } + + public ProceduralStream stream(double min, double max) + { + return new FittedStream(stream(), min, max); + } + public static CNG signature(RNG rng) { return signature(rng, NoiseType.SIMPLEX); diff --git a/src/main/java/com/volmit/iris/object/NoiseStyle.java b/src/main/java/com/volmit/iris/object/NoiseStyle.java index 3826214eb..37076eda3 100644 --- a/src/main/java/com/volmit/iris/object/NoiseStyle.java +++ b/src/main/java/com/volmit/iris/object/NoiseStyle.java @@ -1,5 +1,6 @@ package com.volmit.iris.object; +import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream; import com.volmit.iris.noise.CNG; import com.volmit.iris.noise.CNGFactory; import com.volmit.iris.noise.NoiseType; @@ -408,6 +409,16 @@ public enum NoiseStyle this.f = f; } + public ProceduralStream stream(RNG seed) + { + return create(seed).stream(); + } + + public ProceduralStream stream(long seed) + { + return create(new RNG(seed)).stream(); + } + public CNG create(RNG seed) { return f.create(seed).bake(); diff --git a/src/main/java/com/volmit/iris/util/IrisInterpolation.java b/src/main/java/com/volmit/iris/util/IrisInterpolation.java index f67597904..c21d8ce19 100644 --- a/src/main/java/com/volmit/iris/util/IrisInterpolation.java +++ b/src/main/java/com/volmit/iris/util/IrisInterpolation.java @@ -275,7 +275,7 @@ public class IrisInterpolation int z1 = (int) Math.round(fz * rad); int x2 = (int) Math.round((fx + 1) * rad); int z2 = (int) Math.round((fz + 1) * rad); - + double px = rangeScale(0, 1, x1, x2, x); double pz = rangeScale(0, 1, z1, z2, z); //@builder