3D Creating landscape textures dynamically


Hello there! I am currently working on a game that will randomly generate a couple perlin-noise surfaces (one for the heightmap of the terrain, another for the biome map, another for vegetation map, another for resources, etc) and then create a terrain model (with the correct normals and vertices) given a specific height and scale from the generated heightmap. While reading the color from these surfaces, the game is in a loading screen, and when it has detected that the current step is taking too long, it will break from the loop and remember where it was so it can return next frame. This way, there can be a loading bar and the game won't freeze for a while.

Anyway, once I have generated the surfaces, how can I dynamically create a high-res texture to cover the whole model? I thought about generating the landscape model in pieces, and just dynamically texturing each piece, but that sounds tedious. I want to use a surface but that would get enormous extremely fast.

I am making a game similar to Civilization V. It is in 3D, etc.

How does Civ V generate it's landscape dynamically and then texture it? That'd be so amazing to replicate. Thanks for reading.