Procedural Microdisplacement Terrain

The terrain shader is still very rudimentary, but I’m still nailing down the details of the displacement part. My goal is to create a 100% procedural, node based setup that can generate convincing terrain, which can then be baked into a height-map for mesh-based plant population. What can I do better?


I’m using purely the Noise texture in Cycles. Multiple levels of procedural noise give me approximations of the displaced normals and the convexity of the terrain. I use these to warp another noise texture to simulate erosion. A third detail texture is introduced in the areas without grass. To place the grass, I use the concavity of the terrain (more grass in concave regions), the elevation (more grass in low areas), and a noise texture for precipitation.

I think you would need a slope input for realistic texturing. This would be the Geometry-normal node. But that wont work this microdisplacement.

If this is just a fun project, go for it. If not, i would prefer something like world machine to save you a lot of work.

is this a product you are making to sell? Cause I think it could be good and sell. I personally don’t know of anything that does that in blender. And have wanted this before personally. Anyway, otherwise cool, look forward to what you do with it. Would be better if the green parts toward the center were a little smoother. Anyway if this becomes a product (and I can afford) I would definitely consider. Just saying…

For now this image looks artificial, although the idea is great and may be very useful. Keep workin and share the effects of progress with us. I think there should be at least few inputs: height, slope, pointiness (or cavity map, baked with AO) to calculate where the snow falls down, and where it creates snow caps.

At first check out this: https://www.youtube.com/watch?v=liNGmdXsfbs quick tutorial by Spelle (Gleb Alaxandrov)
Then look at this 2 addons for Unity how the realistic terrain cretion tool shoul look like.
https://www.youtube.com/watch?v=SyTwUotTkBM&t=3s
https://www.youtube.com/watch?v=BxqaYrRII5A&t=2999s