How to handle textures for (large) terrains?

I am using GeoMipTerrain and height maps to dynamically create a terrain for my Panda3d application. Also I can easily set a texture file for such a GeoMipTerrain model in my code. However, that leads to the problem that this texture does not look good when the camera is close to the ground (of course, since the terrain texture file is way too small for a large x miles by y miles generated terrain).

So my question is: how does one - at least theoretically - approach that issue? I guess this is a common game development task. Having a height map based terrain model in a Panda3d application, how can I apply textures to the terrain so that it looks well even with the camera close to the ground? I assume I would need to apply high-res textures to the parts of the terrain the camera is looking at the moment. Do you have any keywords or techniques for me to start with?

On top of that, I also want to add certain features to the terrain, like roads or rivers for example. I guess these are complex tasks on their own, at least to add water to a terrain. But still, I assume this is a common task in game development. Can you guide me to some books/tutorials/articles in the web that explains what are “best practices” in terrain texturing and alike? I am thankful for any advice where to start with that topic.


I don’t know what might be the best method, but I imagine that you should be able to get decent results by a combination of tiling your textures (having them repeat multiple times over the terrain by means of scaling your texture coordinates) and texture splatting. Wikipedia has an article on the latter, with some links at the bottom – although I don’t know whether said links are any good.

In short, tile your textures and use untiled alpha maps to “splat” them onto the terrain.

In demomaster have an terrain sample using CG. They using alpha map for texture combine and you can set the tiling in tscale. But it use Cg so maybe hard to use

Ok, so I understand I will investigate into texture splatting further.
Thanks also for the link to the demomater framework!