Stream support

This commit is contained in:
Daniel Mills 2020-10-24 00:29:13 -04:00
parent 87cce116af
commit 5d3faba762
3 changed files with 25 additions and 1 deletions

View File

@ -3,6 +3,9 @@ package com.volmit.iris.noise;
import java.util.List; import java.util.List;
import com.volmit.iris.Iris; 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.IRare;
import com.volmit.iris.util.IrisInterpolation; import com.volmit.iris.util.IrisInterpolation;
import com.volmit.iris.util.KList; import com.volmit.iris.util.KList;
@ -44,6 +47,16 @@ public class CNG
return generator; return generator;
} }
public ProceduralStream<Double> stream()
{
return new CNGStream(this);
}
public ProceduralStream<Double> stream(double min, double max)
{
return new FittedStream(stream(), min, max);
}
public static CNG signature(RNG rng) public static CNG signature(RNG rng)
{ {
return signature(rng, NoiseType.SIMPLEX); return signature(rng, NoiseType.SIMPLEX);

View File

@ -1,5 +1,6 @@
package com.volmit.iris.object; 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.CNG;
import com.volmit.iris.noise.CNGFactory; import com.volmit.iris.noise.CNGFactory;
import com.volmit.iris.noise.NoiseType; import com.volmit.iris.noise.NoiseType;
@ -408,6 +409,16 @@ public enum NoiseStyle
this.f = f; this.f = f;
} }
public ProceduralStream<Double> stream(RNG seed)
{
return create(seed).stream();
}
public ProceduralStream<Double> stream(long seed)
{
return create(new RNG(seed)).stream();
}
public CNG create(RNG seed) public CNG create(RNG seed)
{ {
return f.create(seed).bake(); return f.create(seed).bake();