Hi Carharttguy,
Welcome to the forum, and thanks for your questions.
If you've not seen it yet, some of this may be answered in the '
Rendering grass and highly detailed terrain textures' tutorial.
How do we see things like grass or other smaller things in video games?
In commercial games, grass and other small things are usually done with separate meshes for the grass, not with super-detail on the ground texture. For instance, here is grass overlays in Unreal:
That's the heavyweight solution to getting high ground detail, but there are some other cheaper tricks to improve the look of ground textures...
Or is a terrain texture only a base texture, not directly looked at? Other textures applied to it?
Correct. It's quite common to use some form of detail map, which is a repeating greyscale image that is used to modulate the intensity of the colour map (as shown below, with no detail map at left, and detail map at right). You can use either the same detail map for all land types (I do this in L3DT's 3D renderer, because it's easy), or you can use different detail maps for different materials (this is much better, but requires custom shaders.)
It's also pretty common to use a bump map, which is similar to a detail map, but is used as an input to the runtime shader to modify the surface topography to produce fine-scale lighting variations. This looks much more realistic than simple detail maps, and I'd guess all game engines would do this now.
Even on the highest TX/HF settings, 32, I would only see 32 distinct pixels per square metre.
It's not quite as bad as you think there. With a TX/HF ratio of 32, you will get a matrix of 32x32 texture pixels for each heightfield pixel, i.e. 1024 pixels per square metre. That said, you also get 1024x the amount of texture data, which creates its own headaches. Super-high-resolution pre-calculated textures (so called 'megatextures') are not widely used in game engines because it's hard to efficiently manage that much data, and because modern GPUs are so good at running very complex custom shaders to provide the file-scale detail. The happy medium seems to be around 4x to 8x texture resolution, with higher-resolution detail handled by detail/bump maps and geometry.
Best regards,
Aaron.