1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-17 14:55:13 -05:00

Noise: Update Noise::resizeNoiseBuf to account for lacunarity not equal to 2

This commit is contained in:
kwolekr 2014-12-09 00:48:00 -05:00
parent 29b413b376
commit 941d000fc6

View File

@ -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 {