Techniques for dynamically combining large but low-res heightmap with proc-gen details?

Hi! I’m just looking for tips with regard to the following scenario:

  1. I have some extensive but relatively low resolution real-world geographic height map data. Currently I am loading (chunks of) this into Godot using Zylann’s HTerrain plugin. It works great aside from some slow initial loading issues (due to this issue I think: RenderingServer.texture_2d_update_partial() missing · Issue #65762 · godotengine/godot · GitHub).

  2. The terrain resolution is only around 200m per data point. So I want to play around with overlaying some procedurally generated small-scale details on the low-res heightmap. Zylann’s plugin even comes with some nice tools for generating random terrains, but I don’t think there is a simple way to combine that with imported heightmaps.

Any tips or similar projects around? I can of course do something in external tools and load some custom combined high-res heightmaps. But my terrain is thousands of kilometres in extent so that would produce terabytes of data. So it would be better to do something like load chunks of low res terrain and then dynamically modify the mesh to add details. That’s not exactly trivial though, thus I am looking for advice before I burn a lot of time figuring out how to do it :).

You should checkout devmars dev post on infinite terrain. Cool stuff on LOD hacking. Which would probably be important for you if you are going to have large terrain.

As well as combining a height maps with some other texture to add detail is totally possible. I would ditch the plugin and write your own. I did a height map generator with collision myself, it’s not too hard. You could even throw a shader down on top if you don’t mind it not being true to the collision shape exactly.