- Moved continent zoom scaling to IrisGeneratorStyle.createScaledGenerator

Ref.: https://github.com/VolmitSoftware/Iris/issues/1251
This commit is contained in:
CeeVeeR committed 2026-10-02 12:33:17 +02:00
1 parent 00601678d9
commit 1544c34f44
2 files changed
+9 -5

No files matched your search

@@ -102,6 +102,10 @@ public class IrisGeneratorStyle {
return createNoCache(rng, data, 1, 0, false, resolveEngine(data)); return createNoCache(rng, data, 1, 0, false, resolveEngine(data));
} }
public CNG createScaledGenerator(RNG rng, IrisData data, double scaleFactor) {
return createNoCache(rng, data).bake().scale(scaleFactor).bake();
}
public CNG createForLayer(RNG rng, IrisData data, int octaveMultiplier) { public CNG createForLayer(RNG rng, IrisData data, int octaveMultiplier) {
return createNoCache(rng, data, Math.clamp(octaveMultiplier, 1, 16), 0, false, resolveEngine(data)); return createNoCache(rng, data, Math.clamp(octaveMultiplier, 1, 16), 0, false, resolveEngine(data));
} }
@@ -11,18 +11,18 @@ public final class ContinentGenerator {
} }
public static CNG create(IrisDimension dimension, RNG parentSeedSource, IrisData packData) { public static CNG create(IrisDimension dimension, RNG parentSeedSource, IrisData packData) {
return scaleByContinentZoom(createContinentalStyleGenerator(dimension, parentSeedSource, packData), dimension); return createScaledContinentalStyleGenerator(dimension, deriveContinentSeed(parentSeedSource), packData);
} }
private static CNG createContinentalStyleGenerator(IrisDimension dimension, RNG parentSeedSource, IrisData packData) { private static CNG createScaledContinentalStyleGenerator(IrisDimension dimension, RNG continentSeed, IrisData packData) {
return dimension.getContinentalStyle().createNoCache(deriveContinentSeed(parentSeedSource), packData); return dimension.getContinentalStyle().createScaledGenerator(continentSeed, packData, inverseContinentZoom(dimension));
} }
static RNG deriveContinentSeed(RNG parentSeedSource) { static RNG deriveContinentSeed(RNG parentSeedSource) {
return parentSeedSource.nextParallelRNG(CONTINENT_SEED_SALT); return parentSeedSource.nextParallelRNG(CONTINENT_SEED_SALT);
} }
private static CNG scaleByContinentZoom(CNG generator, IrisDimension dimension) { private static double inverseContinentZoom(IrisDimension dimension) {
return generator.bake().scale(1D / dimension.getContinentZoom()).bake(); return 1D / dimension.getContinentZoom();
} }
} }