From 941d000fc62fd07cc058f6bc663a56843dc8591e Mon Sep 17 00:00:00 2001 From: kwolekr Date: Tue, 9 Dec 2014 00:48:00 -0500 Subject: Noise: Update Noise::resizeNoiseBuf to account for lacunarity not equal to 2 --- src/noise.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/noise.cpp') diff --git a/src/noise.cpp b/src/noise.cpp index 3fedf357f..57938bd06 100644 --- a/src/noise.cpp +++ b/src/noise.cpp @@ -400,15 +400,15 @@ void Noise::resizeNoiseBuf(bool is3d) float ofactor; //maximum possible spread value factor - ofactor = (float)(1 << (np->octaves - 1)); + ofactor = pow(np->lacunarity, np->octaves - 1); //noise lattice point count //(int)(sz * spread * ofactor) is # of lattice points crossed due to length // + 2 for the two initial endpoints // + 1 for potentially crossing a boundary due to offset - nlx = (int)(sx * ofactor / np->spread.X) + 3; - nly = (int)(sy * ofactor / np->spread.Y) + 3; - nlz = is3d ? (int)(sz * ofactor / np->spread.Z) + 3 : 1; + nlx = (int)ceil(sx * ofactor / np->spread.X) + 3; + nly = (int)ceil(sy * ofactor / np->spread.Y) + 3; + nlz = is3d ? (int)ceil(sz * ofactor / np->spread.Z) + 3 : 1; delete[] noise_buf; try { -- cgit v1.2.3