From 8ca4e380fa44c19fd28759e0378c7e454d9097da Mon Sep 17 00:00:00 2001 From: dfsek Date: Tue, 7 Dec 2021 21:25:49 -0700 Subject: [PATCH] optimize kernel sampler when kernel values are zero --- .../terra/addons/noise/samplers/KernelSampler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/KernelSampler.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/KernelSampler.java index b5666512e..05997df7f 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/KernelSampler.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/KernelSampler.java @@ -32,7 +32,10 @@ public class KernelSampler implements NoiseSampler { for(int kx = 0; kx < kernel.length; kx++) { for(int ky = 0; ky < kernel[kx].length; ky++) { - accumulator += in.noise(seed, x + kx, y + ky) * kernel[kx][ky]; + double k = kernel[kx][ky]; + if(k != 0) { + accumulator += in.noise(seed, x + kx, y + ky) * k; + } } } @@ -48,7 +51,10 @@ public class KernelSampler implements NoiseSampler { for(int kx = 0; kx < kernel.length; kx++) { for(int ky = 0; ky < kernel[kx].length; ky++) { - accumulator += in.noise(seed, x + kx, y, z + ky) * kernel[kx][ky]; + double k = kernel[kx][ky]; + if(k != 0) { + accumulator += in.noise(seed, x + kx, y, z + ky) * k; + } } }