So I saw an article on fractal terrain generation (fractal meaning self-similar at all levels) and decided to make an implementation. A few hours of work later, and viola - I generated this!
Woo terrain!
The colors are based on the height with icy blue being the highest (and in only like 2 spots on the map), white being mostly high, dark bluegrey being middle, and yellow being low. I *did* apply a bumpmapping filter to it afterwards too, just to make it look more awesome.I also can display the terrain as a greyscale 3d model preview!I can make much larger terrain maps, but I start running out of video ram. A few iterations higher than that, and I start running out of regular ram :/The largest terrain map I have generated was 1gb in size, and was 16385 x 16385 pixels. To put that into perspective, if each pixel were a foot wide, the terrain map would cover over 9 square mile. Due to common sense, I have decided against hosting it to show you. I actually had to restart explorer.exe after generating it, because Windows in all its glory has decided that it wants to make a thumbnail of it, and attempts to do so every time I open the folder containing that terrain map. I may have to delete it.There are still a few quirks in the generation - namely roughness control, and edge-artifacts generated by lack of wrapping implementation. Still, pretty sweet.That is all.
so it actually is over nine thousand
How long does it take your computer to make this? Make it change over time :D
what is awesome is putting a vehicle on those maps
If you have a DX10 compatible graphics card, the vertex shader can read this as a displacement map, and you can actually make it change in realtime.
Alternatively you could compress the entire algorithm into a lookup table plus noise function in the vertex shader itself.Nicely done.
@blackhole - the algorithm is much more complicated than just applying random noise to a pre-generated surface. If it were that simple I'd not be posting it here.
As for real-time modification, you might be able to do that manually - but you wouldn't be able to re-apply the algorithm to 'deform' it again in the manner you are thinking - you might as well just apply a small noise function across the map instead - it is a recursive fractal, and adding another iteration would increase detail and size, but not 'deform' it.I wasn't talking about how you generated it, I was talking about deforming it, which could be much simpler.