Hi, I have some problems understanding your concerns. Lets try it:

Quote:
Excuse me but I don't follow: 5*3 (textures) + 5*2 (normal maps) = 25. What about the remaining 3 channels? Are they used for light mapping? Or you can use them as you like, including nothing?


You can use three textures plus their respective normal maps. The first texture is tiled over the terrain as base texture, the following two are blended, according to the weights stored in the red- and green-channel of the blendmap. The blue-channel of the blendmap stores a lightmap for the terrain.

As you can see when you open one of the samples files in MED, the order of the skins have to be:

- blendmap (or "mask")
- base texture
- texture 1
- texture 2
- base normal map
- texture 1 normal map
- texture 2 normal map

If you need even more textures, this can get quite complicated, so, it would be nice to know if you need four, five or fortyfive textures wink

Quote:
I'd only use normal mapping with some textures


This could save performance, if you would know before, which textures have no normal map. So, if it is only texture 1 or only the base texture or so, this could be hardcoded and could save performance. Checking that dynamically could work, too, but I am pretty sure that the additional conditional texture samples would cause aan additional performance loss.

Quote:
Now it's unclear for me whether the whole terrain gets rendered (texture-wise), even if the camera only sees a corner, or it's clip space optimized


If the terrain is not seen at all because it is outside the view frustrum, it is likely that it is not rendered at all, which saves performance - but since terrains are always super large objects I can not imagine any real life scenario in which that could happen. Luckily, the shader is fired only for all pixels which are going to be rendered on the screen. So, if it as big a 10² pixel, it will consume less performance, than if it would cover the whole screen smile but don't be afraid, these shaders are really quick.

Quote:
I'd consider (a little) more processing friendly to use smaller scaled textures than upscaled ones at the same texture size.


Smaller texture sizes do not affect immediately the time which is consumed to render an object. But it is related to the time which is needed per frame to push all data to the GPU so that it can actually process it. So, it is not so very clever if each texture in your game is about as big as 1024² pixel. If you use e.g. only 512² pixel textures, you reduce the bandwidth needed for transferring by a factor of 75%.