mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-08 00:36:15 +00:00
fix frequency issues
This commit is contained in:
@@ -211,7 +211,7 @@ public class CellularSampler extends NoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
int xr = fastRound(x);
|
||||
int yr = fastRound(y);
|
||||
|
||||
@@ -363,7 +363,7 @@ public class CellularSampler extends NoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
int xr = fastRound(x);
|
||||
int yr = fastRound(y);
|
||||
int zr = fastRound(z);
|
||||
|
||||
@@ -12,12 +12,12 @@ public class ConstantSampler extends NoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
return constant;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,11 +87,25 @@ public abstract class NoiseFunction implements NoiseSampler {
|
||||
|
||||
@Override
|
||||
public double getNoise(double x, double y) {
|
||||
return getNoiseSeeded(seed, x * frequency, y * frequency);
|
||||
return getNoiseSeeded(seed, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoise(double x, double y, double z) {
|
||||
return getNoiseSeeded(seed, x * frequency, y * frequency, z * frequency);
|
||||
return getNoiseSeeded(seed, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
return getNoiseRaw(seed, x * frequency, y * frequency);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
return getNoiseRaw(seed, x * frequency, y * frequency, z * frequency);
|
||||
}
|
||||
|
||||
public abstract double getNoiseRaw(int seed, double x, double y);
|
||||
|
||||
public abstract double getNoiseRaw(int seed, double x, double y, double z);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ public class WhiteNoiseSampler extends NoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
long hashX = Double.doubleToRawLongBits(x) ^ seed;
|
||||
long hashZ = Double.doubleToRawLongBits(y) ^ seed;
|
||||
long hash = ((hashX ^ (hashX >>> 32)) + ((hashZ ^ (hashZ >>> 32)) << 32)) ^ seed;
|
||||
@@ -18,7 +18,7 @@ public class WhiteNoiseSampler extends NoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
long hashX = Double.doubleToRawLongBits(x) ^ seed;
|
||||
long hashZ = Double.doubleToRawLongBits(y) ^ seed;
|
||||
long hash = (((hashX ^ (hashX >>> 32)) + ((hashZ ^ (hashZ >>> 32)) << 32)) ^ seed) + Double.doubleToRawLongBits(z);
|
||||
|
||||
@@ -8,7 +8,7 @@ public class BrownianMotionSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
@@ -26,7 +26,7 @@ public class BrownianMotionSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public class PingPongSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class PingPongSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ public class RidgedFractalSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
@@ -27,7 +27,7 @@ public class RidgedFractalSampler extends FractalNoiseFunction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
double sum = 0;
|
||||
double amp = fractalBounding;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ public class OpenSimplex2SSampler extends SimplexStyleSampler {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("NumericOverflow")
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
// 2D OpenSimplex2S case is a modified 2D simplex noise.
|
||||
|
||||
final double SQRT3 = 1.7320508075688772935274463415059;
|
||||
@@ -114,7 +114,7 @@ public class OpenSimplex2SSampler extends SimplexStyleSampler {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("NumericOverflow")
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
// 3D OpenSimplex2S case uses two offset rotated cube grids.
|
||||
final double R3 = (2.0 / 3.0);
|
||||
double r = (x + y + z) * R3; // Rotation, not skew
|
||||
|
||||
@@ -8,7 +8,7 @@ public class OpenSimplex2Sampler extends SimplexStyleSampler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
// 2D OpenSimplex2 case uses the same algorithm as ordinary Simplex.
|
||||
final double G2 = (3 - SQRT3) / 6;
|
||||
|
||||
@@ -68,7 +68,7 @@ public class OpenSimplex2Sampler extends SimplexStyleSampler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
// 3D OpenSimplex2Sampler case uses two offset rotated cube grids.
|
||||
final double R3 = (2.0 / 3.0);
|
||||
double r = (x + y + z) * R3; // Rotation, not skew
|
||||
|
||||
@@ -6,7 +6,7 @@ public class PerlinSampler extends SimplexStyleSampler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
int x0 = fastFloor(x);
|
||||
int y0 = fastFloor(y);
|
||||
|
||||
@@ -30,7 +30,7 @@ public class PerlinSampler extends SimplexStyleSampler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
int x0 = fastFloor(x);
|
||||
int y0 = fastFloor(y);
|
||||
int z0 = fastFloor(z);
|
||||
|
||||
@@ -6,7 +6,7 @@ public class ValueCubicSampler extends ValueStyleNoise {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
int x1 = fastFloor(x);
|
||||
int y1 = fastFloor(y);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ValueCubicSampler extends ValueStyleNoise {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
int x1 = fastFloor(x);
|
||||
int y1 = fastFloor(y);
|
||||
int z1 = fastFloor(z);
|
||||
|
||||
@@ -6,7 +6,7 @@ public class ValueSampler extends ValueStyleNoise {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y) {
|
||||
public double getNoiseRaw(int seed, double x, double y) {
|
||||
int x0 = fastFloor(x);
|
||||
int y0 = fastFloor(y);
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ValueSampler extends ValueStyleNoise {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getNoiseSeeded(int seed, double x, double y, double z) {
|
||||
public double getNoiseRaw(int seed, double x, double y, double z) {
|
||||
int x0 = fastFloor(x);
|
||||
int y0 = fastFloor(y);
|
||||
int z0 = fastFloor(z);
|
||||
|
||||
@@ -25,4 +25,8 @@ public abstract class FractalTemplate<T extends FractalNoiseFunction> extends No
|
||||
|
||||
@Value("function")
|
||||
protected NoiseSeeded function;
|
||||
|
||||
public FractalTemplate() {
|
||||
frequency = 1; // Fractal default freq = 1.
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user