Hi everybody,
I just wanted to share something that occurred to me a few days ago. Basically I took a few ingredients:
What occurred to me is that there could be a whole new layer of noise defining WHERE the noise function is sampled.
Simple (silly) example. Let's say we get one of the current terrain generator and and we associate a simple black and white 2D checkered pattern with it, repeating over the whole landscape. The meaning of black is: sample where you normally would. The meaning of white is: sample the function 100 blocks up from where you normally would. Result: same landscape as before with (silly looking) massive shifts downward where the white is - the sampling function finds air where there use to be a landscape.
Now, let's make everything realistically complex. First, rather than thinking about a 2D checkered pattern, let's think about a proper 3D noise resulting in 3 numbers per sample. Let's interpret these three numbers as a 3D vector pointing to where the next sample should be taken. This alone will stretch and compress and uplift and tilt sections of the landscape. Except that we do not stop there. The next sample is taken from another 3D noise function resulting in another vector shifting the sampling of the underlying terrain. And then let's do it one more time, effectively adding three vectors derived by three different noise functions. Only then, in the point indicated by the sum of the three vectors, we sample the original terrain.
So, effectively, that point in the original terrain is translated to the location of the sample taken in the first 3D noise function. Crucially, nearby portions of the original terrain will be displaced in a similar but not identical fashion as the noise varies spatially. With appropriate deforming functions there can be smooth deformations i.e. roundish uplifts, but also discontinuities, i.e. a tectonic fault carving a small canyon as it snakes through the landscape.
In this context overhangs are generated when a part of the landscape is uplifted and then the top-most layers get shifted horizontally. In this context if the whole landscape did that it might be very funny looking. It will be important then to use "masking" noise that ramps up a terrain deformer in certain areas but leave other areas untouched.
As you can imagine the theory can be sufficiently clear but making it work is the real challenge. I just hope to provide some food for thoughts.
I just wanted to share something that occurred to me a few days ago. Basically I took a few ingredients:
- the way tectonic forces deform the crust, i.e. uplifting, tilting or corrugating large pieces of land
- backward sampling done in fluid simulations
- overhangs
What occurred to me is that there could be a whole new layer of noise defining WHERE the noise function is sampled.
Simple (silly) example. Let's say we get one of the current terrain generator and and we associate a simple black and white 2D checkered pattern with it, repeating over the whole landscape. The meaning of black is: sample where you normally would. The meaning of white is: sample the function 100 blocks up from where you normally would. Result: same landscape as before with (silly looking) massive shifts downward where the white is - the sampling function finds air where there use to be a landscape.
Now, let's make everything realistically complex. First, rather than thinking about a 2D checkered pattern, let's think about a proper 3D noise resulting in 3 numbers per sample. Let's interpret these three numbers as a 3D vector pointing to where the next sample should be taken. This alone will stretch and compress and uplift and tilt sections of the landscape. Except that we do not stop there. The next sample is taken from another 3D noise function resulting in another vector shifting the sampling of the underlying terrain. And then let's do it one more time, effectively adding three vectors derived by three different noise functions. Only then, in the point indicated by the sum of the three vectors, we sample the original terrain.
So, effectively, that point in the original terrain is translated to the location of the sample taken in the first 3D noise function. Crucially, nearby portions of the original terrain will be displaced in a similar but not identical fashion as the noise varies spatially. With appropriate deforming functions there can be smooth deformations i.e. roundish uplifts, but also discontinuities, i.e. a tectonic fault carving a small canyon as it snakes through the landscape.
In this context overhangs are generated when a part of the landscape is uplifted and then the top-most layers get shifted horizontally. In this context if the whole landscape did that it might be very funny looking. It will be important then to use "masking" noise that ramps up a terrain deformer in certain areas but leave other areas untouched.
As you can imagine the theory can be sufficiently clear but making it work is the real challenge. I just hope to provide some food for thoughts.