Thanks. Good insight. I’ve seen this technique before but it didn’t cross my mind.
Also, I was editing my last reply then noticed you replied so decided i"d add it to my new one for visibility:
The main hold-up for my terrain generator is applying noise to a grid of voxels. When I’ve used noise on meshes in the past, it’s simple - you just augment the vertecies position with the noise value. Add some Fractal Brownian Motion, and various erosion algorithms to get pretty beautiful results. I thought maybe remapping the noise (which appears to be -1 to 1 in OpenSimplex) using a function like this:
def remapRange(x, in_min, in_max, out_min, out_max):
return ((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
Which essentially takes a value in one range and scales it up, as if it were in a larger range (then you round it to nearest int), but haven’t been able to get good results. It seems like it should work (albeit certainly not correct/best), but I’m not sure how to tweak out_min/max and my noiseScale variable (a multiplier to sample noise at smaller or larger scales).
I’m entirely self taught, so I know this is a VERY well known algorithm (e.g. how to approximate a line in pixels - we’ve been doing it since computers had displays and probably knew how to do it long before that), but most of my work is in web apps and data entry.