From 1f8d2100fff7ab228320644d7f05fbe56caa178c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Gidiere?= Date: Sat, 7 Oct 2023 21:01:49 -0600 Subject: [PATCH] another micro opt --- .../noise/samplers/noise/PseudoErosionSampler.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/PseudoErosionSampler.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/PseudoErosionSampler.java index 4cc8e303d..f979746a8 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/PseudoErosionSampler.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/PseudoErosionSampler.java @@ -239,10 +239,10 @@ public class PseudoErosionSampler implements NoiseSampler { // Precompute cell positions and lookup values double[] cellData = new double[PRECOMPUTE_SIZE * PRECOMPUTE_SIZE * 3]; + int cellDataIndex = 0; for(int xi = -PRECOMPUTE_RADIUS; xi <= PRECOMPUTE_RADIUS; xi++) { int gridXi = gridX + xi; int gridXiPrimed = gridXi * PRIME_X; - int xiKey = ((xi + PRECOMPUTE_RADIUS) * PRECOMPUTE_SIZE) + PRECOMPUTE_RADIUS; for(int yi = -PRECOMPUTE_RADIUS; yi <= PRECOMPUTE_RADIUS; yi++) { int gridYi = gridY + yi; @@ -259,12 +259,9 @@ public class PseudoErosionSampler implements NoiseSampler { double lookup = this.lookup.noise(seed, actualCellX, actualCellY); - // Calculate linear index for flattened array - int linearIndex = (xiKey + yi) * 3; - - cellData[linearIndex] = cellX; - cellData[linearIndex + 1] = cellY; - cellData[linearIndex + 2] = lookup; + cellData[cellDataIndex++] = cellX; + cellData[cellDataIndex++] = cellY; + cellData[cellDataIndex++] = lookup; } }