How to zoom in on generated noise and maintain definition?

Godot Version

Question

Hi,

I am using FastNoiseLite to generate noise. I would like to be able to zoom in on that noise and also not lose detail. In other words, probably regenerate a given area of a noise at a higher detail but same pattern.

So far I am doing this:

get_noise_2d(x / zoom, y / zoom) 

where zoom would be the scale. It works but I am getting pixelated as I zoom in more. Is there a way to have the noise “re-generate” a certain area at a higher resolution so that the pattern will remain? I feel like one needs to tweak the noise values.

To save the drawing, set the same seed value, then you will get the same drawing when scaling. As far as I understand, you mean a fractal drawing, which can be endlessly enlarged, but there is a scaling limit and to get besides pixels, I think is impossible. You could initially use some constant value of maximum and minimum scale, at which the noise would look acceptable: without pixels and a huge amount of “noise” :slight_smile:

Thank you! But since the noise is a wave, shouldn’t there be a way to avoid pixels? Technically, if I am understanding this right, you could get an infinite value (I know… Planck length lol… lets not go there) between say x at 1 and 2 like 1.500, 1.505 etc… and they should be not pixelated.

It’s probably a limitation of the plugin. If you use perlin worley or simplex noise they will support exactly what you are asking for. Looks like godot natively supports openSimplex noise too, which is improved upon perlin

https://kidscancode.org/godot_recipes/3.x/math/noise/index.html
you would divide x/y/z by your desired zoom level .