mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 02:36:59 +00:00
Stream support
This commit is contained in:
parent
87cce116af
commit
5d3faba762
@ -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);
|
||||||
|
@ -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();
|
||||||
|
@ -275,7 +275,7 @@ public class IrisInterpolation
|
|||||||
int z1 = (int) Math.round(fz * rad);
|
int z1 = (int) Math.round(fz * rad);
|
||||||
int x2 = (int) Math.round((fx + 1) * rad);
|
int x2 = (int) Math.round((fx + 1) * rad);
|
||||||
int z2 = (int) Math.round((fz + 1) * rad);
|
int z2 = (int) Math.round((fz + 1) * rad);
|
||||||
|
|
||||||
double px = rangeScale(0, 1, x1, x2, x);
|
double px = rangeScale(0, 1, x1, x2, x);
|
||||||
double pz = rangeScale(0, 1, z1, z2, z);
|
double pz = rangeScale(0, 1, z1, z2, z);
|
||||||
//@builder
|
//@builder
|
||||||
|
Loading…
x
Reference in New Issue
Block a user